j-Paper
Komponent upravuje dokument ako pole objektov widgetu. Naviažte cestu modelu k tomuto poľu, nakonfigurujte archív miniaplikácií a použite automatické ukladanie na zapisovanie úprav späť do modelu.
- výstupom je jednoduchá štruktúra
Object Array:[{ id: String, widget: String, newbie: Boolean, changed: Boolean, config: Object }]
- úložisko widgetov: https://github.com/totaljs/parts/tree/main/paper
Konfigurácia:
readonly {Number}zapína/vypína režim len na čítanie0=disabled,1=partially enabled,2=fully enabledparent {String}voliteľné, nadradený prvok pre minimálnu výšku (predvolené:null)margin {Number}dodatočná rezerva pre minimálnu výšku (predvolené:0)- Zmeny
autosave {Boolean}sa serializujú podľa cesty automaticky widgets {String}odkaz na miniaplikácie (predvolené: Componentator CDN)- môže obsahovať viacero adries oddelených čiarkou
mywidget1.html,/mywidget2.html,etc.. - alebo si môžete ponechať štruktúru CDN
- môže obsahovať viacero adries oddelených čiarkou
icon {String}odkaz nafunction(opt, callback)opt.element {jQuery element}- IMPORTANT: zavolajte argument
callback, ak bola ikona v prvku zmenená
link {String}odkaz nafunction(opt)opt.element {jQuery element}opt.href {String}opt.target {String}opt.widget {Object}inštancia miniaplikácie
command {String}odkaz nafunction(cmd)cmd.widget {Object}dočasná inštancia widgetucmd.widgets {Array}zoznam zaregistrovaných widgetovcmd.remove() {Function}odstráni miniaplikáciucmd.append(name)nahradí aktuálny dočasný widget novým widgetom (namenázov widgetu)
format {String}odkaz nafunction(toolbar)toolbarmôže byťnulltoolbar.element {jQuery element}prúdový prvoktoolbar.node {HTML element}prúdový prvoktoolbar.widget {Object}inštancia miniaplikácietoolbar.style {Object}obsahuje aktuálny štýl napr.bold: 1, link: 1
upload {String}odkaz nafunction(opt, callback)opt.accept {String}voliteľnéopt.files {FileList}voliteľnéopt.multiple {Boolean}voliteľné, predvolené:falseopt.width {Number}voliteľnéopt.height {Number}voliteľné- DÔLEŽITÉ: Argument
callbacksa musí vykonať po odovzdaní s argumentomfiles {Array}
change {String}odkaz nafunction(change)- Identifikátor
change.id {String} change.block {String}identifikátor blokuchange.blockprev {String}predchádzajúci identifikátor blokuchange.widget {String}ID miniaplikácie- Typ operácie
change.type {String}(vložiť, aktualizovať, odstrániť)
- Identifikátor
contextmenu {String}odkaz nafunction(widget), keď používateľ stlačil pravé tlačidlo myši na miniaplikáciicheck {String}odkaz nafunction(widget), ktorý rozhoduje, či povoliť úpravy alebo nieplaceholder {String}zástupný symbol pre predvolenú miniaplikáciu HTML (predvolené:Press / for adding rich content)
Metódy:
component.save(function(data, ischange) {na ukladanie obsahucomponent.import(url or url_array, [callback])na import ďalších miniaplikáciícomponent.notify(event, [a], [b], [c], [d])vydáva udalosť v každom widgete
Je dobré vedieť:
Komponent vytvára globálnu premennú s názvom window.papercache {Object}, ktorú používajú všetky inštancie j-Paper.
- komponent porovnáva obsah pri zmene údajov, takže údaje môžete meniť v reálnom čase
- komponent priraďuje (vo forme) každému prvku widgetu triedu
paper-yourwidgetname - vyhradené HTML triedy
readonly,widget,selected- použitie len na čítanie:
.readonly .paper-yourwidgetname { ... }
- použitie len na čítanie:
htmlelement.$widget {Object}obsahuje inštanciu widgetu- Metóda
widget.remove()odstráni miniaplikáciu
- Metóda
Skratky v úprave textu:
CMD + mzvýrazní textCMD + lvytvorí prepojenieCMD + ppridá ikonuCMD + btučnéCMD + ikurzívaCMD + upodčiarknite
Je dobré vedieť:
- Atribút
[data-prevent]môže zabrániť udalosti kliknutia vo widgete
Použitie
<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>Poskytnite index miniaplikácií na /paper/db.json a jeho súbory miniaplikácií z vašej aplikácie. Spätné volanie pri ukladaní prijíma serializované pole miniaplikácií.
Zdroj: Total.js komponenty. Autorské právo Peter Širka a prispievatelia. Licencia MIT.