j-Paper
Компонентът редактира документ като серия от обекти на виджета.Свържете моделния път към този ред, конфигурирайте репозитория на виџетите и използвайте автозащита, за да напишете редакти обратно към модела.
- Изходът е проста структура на
Object Array:[{ id: String, widget: String, newbie: Boolean, changed: Boolean, config: Object }]
- Репозитор на видове: https://github.com/totaljs/parts/tree/main/paper
Конфигуриране:
readonly {Number}позволява/изключва readonly режим0=disabled,1=partially enabled,2=fully enabledparent {String}опционален, родителски елемент за минимална височина (предварително:null)- Допълнителна маржа на
margin {Number}за минимална височина (предварително:0) - Промените в
autosave {Boolean}се сериализират автоматично според маршрута widgets {String}връзка към виджетите (предварително: Componentator CDN)- Тя може да съдържа няколко адреси, разделени от comma
mywidget1.html,/mywidget2.html,etc.. - Или можете да запазите Структура на CDN
- Тя може да съдържа няколко адреси, разделени от comma
icon {String}е връзка къмfunction(opt, callback)opt.element {jQuery element}- __Важен: наричайте аргумента на
callback, ако иконата е променена в елемента
link {String}е връзка къмfunction(opt)opt.element {jQuery element}opt.href {String}opt.target {String}opt.widget {Object}- Виджетни инстанции
command {String}е връзка къмfunction(cmd)cmd.widget {Object}- Временна версияcmd.widgets {Array}списък с регистрирани видовеcmd.remove() {Function}премахва виджетаcmd.append(name)замества текущия временно виџет с нов виџит (наречен на виџетоname)
format {String}е връзка къмfunction(toolbar)toolbarМоже да бъдеnulltoolbar.element {jQuery element}е текущ факторtoolbar.node {HTML element}е текущ факторtoolbar.widget {Object}- Виджетни инстанцииtoolbar.style {Object}съдържа текущ стил, напримерbold: 1, link: 1
upload {String}е връзка къмfunction(opt, callback)opt.accept {String}Опционалноopt.files {FileList}Опционалноopt.multiple {Boolean}опция, дефолт:falseopt.width {Number}Опционалноopt.height {Number}Опционално- ВЪЗМОЖНО: Аргументът
callbackтрябва да бъде изпълнен след изтегляне с аргументаfiles {Array}
change {String}е връзка къмfunction(change)change.id {String}Идентифициранеchange.block {String}- идентификатор на блокаchange.blockprev {String}- предишен идентификатор на блокchange.widget {String}- Виджит ИДchange.type {String}Тип на работа (включете, актуализирайте и премахнете)
contextmenu {String}връзка къмfunction(widget)когато потребителят натисне десния бутон на виџетcheck {String}е линк къмfunction(widget), който решава дали да разреши редактирането или неplaceholder {String}е местоположението за подразбиране на HTML (предварително:Press / for adding rich content)
Методи:
component.save(function(data, ischange) {за съхранение на съдържаниеcomponent.import(url or url_array, [callback])за внос на допълнителни видовеcomponent.notify(event, [a], [b], [c], [d])издава събитие във всеки видж
Добре е да се знае:
Съставът създава глобална променлива, наречена window.papercache {Object}, използвана от всички случаи на j-Paper.
- компонентът сравнява съдържанието, когато промените данните, така че можете да промените данни в реално време
- компонентът приписва (в формата) клас
paper-yourwidgetnameна всеки елемент на виджта - Задължителни HTML класове
readonly,widget,selected- Използване на:
.readonly .paper-yourwidgetname { ... }
- Използване на:
htmlelement.$widget {Object}съдържа виџет- Методът
widget.remove()ще премахне виджета
- Методът
Кратки текстове в Edit:
CMD + mподчертава текстаCMD + lсъздава връзкаCMD + pдобавя иконаCMD + bСмелосттаCMD + iИталианскиCMD + uПод линия
Добре е да се знае:
- Атрибутът
[data-prevent]може да предотврати кликване на събитията в widget
Използване
<ui-component name="paper" path="form.widgets"
config="autosave:true;widgets:/paper/db.json"></ui-component>
<script>
SET('form.widgets', []);
function saveDocument() {
SETTER('paper/save', function(widgets) {
console.log(widgets);
});
}
</script>Сервирайте индекса на виџетите в /paper/db.json и неговите виџети файлове от приложението си.
Източникът е: Total.js съставкиАвторски права Питер Шърка и съучастници. Лицензът ми.