j-Paper
Komponenten redigerar ett dokument som en uppsättning widgetobjekt. Bind en modellvägen till den uppsättningen, konfigurera widgetreservatet och använda autosave för att skriva redigeringar tillbaka till modellen.
- Produktionen är en enkel
Object Arraystruktur:[{ id: String, widget: String, newbie: Boolean, changed: Boolean, config: Object }]
- Widgets förvaring: https://github.com/totaljs/parts/tree/main/paper
Konfigurera:
readonly {Number}aktiverar/försvinner readonly läge0=disabled,1=partially enabled,2=fully enabledparent {String}valfritt, ett föräldralement för min höjd (default:null)margin {Number}extra marginal för min höjd (default:0)autosave {Boolean}-ändringar serialiseras automatiskt enligt vägenwidgets {String}en länk till widgeterna (default: Componentator CDN)- Det kan innehålla flera adresser uppdelade av comma
mywidget1.html,/mywidget2.html,etc.. - Eller du kan hålla CDN struktur
- Det kan innehålla flera adresser uppdelade av comma
icon {String}en länk tillfunction(opt, callback)opt.element {jQuery element}- IMPORTANT: ringa argumentet
callbackom ikonen har ändrats i elementet
link {String}en länk tillfunction(opt)opt.element {jQuery element}opt.href {String}opt.target {String}opt.widget {Object}en widget instans
command {String}en länk tillfunction(cmd)cmd.widget {Object}en tillfällig widget instanscmd.widgets {Array}en lista över registrerade widgetscmd.remove() {Function}tar bort widgetcmd.append(name)ersätter den nuvarande tillfälliga widgeten med en ny widget (name-namn)
format {String}en länk tillfunction(toolbar)toolbarkan varanulltoolbar.element {jQuery element}ett nuvarande elementtoolbar.node {HTML element}ett nuvarande elementtoolbar.widget {Object}en widget instanstoolbar.style {Object}innehåller en aktuell stil t.ex.bold: 1, link: 1
upload {String}en länk tillfunction(opt, callback)opt.accept {String}alternativopt.files {FileList}alternativopt.multiple {Boolean}alternativ, standard:falseopt.width {Number}alternativopt.height {Number}alternativ- IMPORTANT:
callback-argumentet måste utföras efter att ha laddat upp medfiles {Array}-argumenet
change {String}en länk tillfunction(change)change.id {String}identifieringchange.block {String}en block identifierarechange.blockprev {String}en tidigare block identifierarechange.widget {String}en widget IDchange.type {String}-typ (inkludera, uppdatera och ta bort)
contextmenu {String}en länk tillfunction(widget)när användaren tryckte på rätt musknapp på widgetencheck {String}en länk tillfunction(widget)som bestämmer om du ska kunna redigera eller inteplaceholder {String}en platsinnehavare för standard HTML-widget (default:Press / for adding rich content)
Metoder:
component.save(function(data, ischange) {för att spara innehållcomponent.import(url or url_array, [callback])för import av ytterligare widgetscomponent.notify(event, [a], [b], [c], [d])emitterar händelse i varje widget
Bra att veta:
Komponenten skapar en global variabel som kallas window.papercache {Object} som används av alla j-Paper instanser.
- komponenten jämför innehållet när du ändrar data, så att du kan ändra data i realtid
- komponenten tilldelar (i form)
paper-yourwidgetname-klassen till varje widgetelement - Förbehållna HTML-klasser
readonly,widget,selected- Lägger användning:
.readonly .paper-yourwidgetname { ... }
- Lägger användning:
htmlelement.$widget {Object}innehåller en widget instanswidget.remove()-metoden tar bort widgeten
Kortfattat i text edit:
CMD + mvisar textenCMD + lskapar en länkCMD + plägger till en ikonCMD + bHjärtaCMD + iItalienskaCMD + uunderlinje
Bra att veta:
[data-prevent]-attribut kan förhindra klick i widgeten
Användning
<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>Servera widgetindexet på /paper/db.json och dess widgetfiler från din applikation.
Källa till: Total.js komponenterCopyright Peter Širka och bidragsgivare. Min licens.