j-Paper
De component bewerkt een document als een reeks widget objecten.Bind een modelpad naar die reeks, configureren de widget repository en gebruiken autosave om bewerken terug te schrijven naar het model.
- De productie is een eenvoudige
Object Arraystructuur:[{ id: String, widget: String, newbie: Boolean, changed: Boolean, config: Object }]
- Widgets opslagruimte: https://github.com/totaljs/parts/tree/main/paper
Configuratie:
- De
readonly {Number}-modus is niet meer mogelijk, maar de0=disabled,1=partially enableden2=fully enabled. parent {String}optioneel, een moederelement voor min-hoogte (default:null)margin {Number}extra marge voor min-hoogte (default:0)- De
autosave {Boolean}-verandering wordt volgens de route automatisch gecertificeerd. widgets {String}een link naar de widgets (default: Componentator CDN)- Het kan meerdere adressen bevatten die door de comma
mywidget1.html,/mywidget2.html,etc..worden verdeeld. - Of je kunt houden De CDN structuur
- Het kan meerdere adressen bevatten die door de comma
icon {String}een link naar defunction(opt, callback)opt.element {jQuery element}- IMPORTANT: noem het argument
callbackals de icoon is gewijzigd in het element
link {String}een link naar defunction(opt)opt.element {jQuery element}opt.href {String}opt.target {String}opt.widget {Object}een widget instantie
command {String}een link naar defunction(cmd)cmd.widget {Object}een tijdelijke widget instantiecmd.widgets {Array}een lijst met geregistreerde widgetscmd.remove() {Function}verwijdert de widgetcmd.append(name)vervangt de huidige tijdelijke widget met een nieuwe widget (namenaam van het widget)
format {String}een link naar defunction(toolbar)toolbarkannullzijntoolbar.element {jQuery element}een huidige elementtoolbar.node {HTML element}een huidige elementtoolbar.widget {Object}een widget instantietoolbar.style {Object}bevat een huidige stijl, bijvoorbeeldbold: 1, link: 1
upload {String}een link naar defunction(opt, callback)opt.accept {String}optieopt.files {FileList}optieopt.multiple {Boolean}optie, standaard:falseopt.width {Number}optieopt.height {Number}optie- Het is belangrijk:
callbackHet argument moet na het uploaden met defiles {Array}Argumenten
change {String}een link naar defunction(change)change.id {String}identificatiechange.block {String}een blok identificeerchange.blockprev {String}een eerdere blok-identificatorchange.widget {String}een widget IDchange.type {String}(invoeren, bijwerken en verwijderen)
contextmenu {String}een link naar defunction(widget)wanneer de gebruiker de rechtermuisknop op het widget druktecheck {String}is een link naar defunction(widget)die bepaalt of het bewerken mogelijk moet zijn of niet.placeholder {String}een plaatshouder voor de standaard HTML-widget (de standaard:Press / for adding rich content)
Methoden:
component.save(function(data, ischange) {voor het besparen van inhoudcomponent.import(url or url_array, [callback])voor de invoer van extra widgetscomponent.notify(event, [a], [b], [c], [d])geeft evenementen uit in elke widget
Goed om te weten:
De component creëert een wereldwijde variabele genaamd window.papercache {Object} die wordt gebruikt door alle j-Paper instanties.
- de component vergelijkt de inhoud wanneer u gegevens wijzigt, zodat u gegevens in realtime kunt wijzigen
- de component toewijst (in het formulier) de
paper-yourwidgetname-klasse aan elk widgetelement - HTML-klassen
readonly,widget,selected- Gebruik van:
.readonly .paper-yourwidgetname { ... }
- Gebruik van:
htmlelement.$widget {Object}bevat een widgetinstantie- Methode
widget.remove()verwijdert de widget
- Methode
Kortschakeling in tekst Edit:
CMD + mgeeft tekst aanCMD + lmaakt een linkCMD + ptoont een iconCMD + bBeroepCMD + iItaliaansCMD + uonderlijn
Goed om te weten:
[data-prevent]-attribuut kan een klik evenement in het widget voorkomen
Gebruik
<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>Dien de widget index op /paper/db.json en zijn widgetbestanden uit uw applicatie.
De bron: Total.js componentenCopyright Peter Širka en bijdragen. Mijn licentie.