j-Paper
Komponenta upravuje dokument jako řadu widgetových objektů.Vezměte modelovou cestu k tomuto řádku, nastavte widgetový záznam a použijte autosave pro psaní úprav zpět do modelu.
- Výstup je jednoduchá struktura
Object Array:[{ id: String, widget: String, newbie: Boolean, changed: Boolean, config: Object }]
- Rozhraní widgetů: https://github.com/totaljs/parts/tree/main/paper
Konfigurace:
readonly {Number}umožňuje/nesahuje readonly režim0=disabled,1=partially enabled,2=fully enabledparent {String}volitelný, mateřský prvek pro min-výšku (podmínkou:null)margin {Number}dodatečná hranice pro min-výška (default:0)- Změny
autosave {Boolean}jsou automaticky serializovány podle trasy widgets {String}odkaz na widgety (předvolené: Componentator CDN)- Může obsahovat více adres rozdělených komou
mywidget1.html,/mywidget2.html,etc.. - Nebo můžete udržet Struktura CDN
- Může obsahovat více adres rozdělených komou
icon {String}odkaz nafunction(opt, callback)opt.element {jQuery element}- __VÍCE: nazve argument
callback, pokud je ikona změněna v prvku
link {String}odkaz nafunction(opt)opt.element {jQuery element}opt.href {String}opt.target {String}opt.widget {Object}- příklad widgetu
command {String}odkaz nafunction(cmd)cmd.widget {Object}- dočasný widgetcmd.widgets {Array}seznam registrovaných widgetůcmd.remove() {Function}odstraní widgetcmd.append(name)nahrazuje stávající dočasný widget novým widgetem (jméno widgetuname)
format {String}odkaz nafunction(toolbar)toolbarMůže býtnulltoolbar.element {jQuery element}- aktuální prvektoolbar.node {HTML element}- aktuální prvektoolbar.widget {Object}- příklad widgetutoolbar.style {Object}obsahuje aktuální styl, např.bold: 1, link: 1
upload {String}odkaz nafunction(opt, callback)opt.accept {String}volitelnéopt.files {FileList}volitelnéopt.multiple {Boolean}Opční a default:falseopt.width {Number}volitelnéopt.height {Number}volitelné- IMPORTANT: Argument
callbackmusí být proveden po uploadu s argumentemfiles {Array}
change {String}odkaz nafunction(change)change.id {String}identifikátorchange.block {String}- identifikační blokchange.blockprev {String}- předchozí blokový identifikátorchange.widget {String}- Widget ID- Typ provozu
change.type {String}(vložení, aktualizace, odstranění)
contextmenu {String}odkaz nafunction(widget)když uživatel stiskne pravou myš tlačítko na widgetucheck {String}odkaz nafunction(widget), který rozhoduje, zda je možné editovat nebo neplaceholder {String}je místo pro výchozí HTML widget (důvodní:Press / for adding rich content)
Metody:
component.save(function(data, ischange) {pro úsporu obsahucomponent.import(url or url_array, [callback])pro dovoz dalších widgetůcomponent.notify(event, [a], [b], [c], [d])vydává události v každém widgetu
Dobré vědět:
Komponenta vytváří globální proměnnou nazvanou window.papercache {Object} používanou ve všech případech j-Paper.
- složka porovnává obsah při změně dat, takže můžete změnit data v reálném čase
- složka přiděluje (v podobě) třídu
paper-yourwidgetnamekaždému widgetu - HTML třídy
readonly,widget,selected- Přístup k použití:
.readonly .paper-yourwidgetname { ... }
- Přístup k použití:
htmlelement.$widget {Object}obsahuje widget- Metoda
widget.remove()odstraní widget
- Metoda
Zkratky v textu Edit:
CMD + mzdůrazňuje textCMD + lvytváří odkazCMD + ppřidává ikonuCMD + bOdvážnýCMD + iItalskýCMD + upodprsenka
Dobré vědět:
[data-prevent]může zabránit kliknutí události v widgetu
Použití
<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>Poskytujte index widgetu na /paper/db.json a jeho soubory widgetů z vaší aplikace.
Zdroj : Total.js součástiCopyright Peter Širka a jeho účastníci. Licence.