j-Paper
Le composant édite un document comme une série d'objets de widget.Lier une voie de modèle à cette ligne, configurer le repository de widgets, et utiliser autosave pour écrire des éditions en arrière au modèle.
- La production est une structure simple de
Object Array:[{ id: String, widget: String, newbie: Boolean, changed: Boolean, config: Object }]
- Réservatoire des widgets : https://github.com/totaljs/parts/tree/main/paper
Configuration :
readonly {Number}permet/disable le mode readonly0=disabled,1=partially enabled,2=fully enabledparent {String}optionnel, un élément parent pour min-high (defaut:null)margin {Number}marge supplémentaire pour min-height (defaut:0)autosave {Boolean}Les changements sont sérialisés automatiquement selon la voie.widgets {String}un lien vers les widgets (defaut: Componentator CDN)- Il peut contenir plusieurs adresses divisées par le comma
mywidget1.html,/mywidget2.html,etc.. - Ou vous pouvez garder La structure du CDN
- Il peut contenir plusieurs adresses divisées par le comma
icon {String}un lien vers lefunction(opt, callback)opt.element {jQuery element}- IMPORTANT: appelez l'argument
callbacksi l'icône a été modifiée dans l'élément
link {String}un lien vers lefunction(opt)opt.element {jQuery element}opt.href {String}opt.target {String}opt.widget {Object}: une instance de widget
command {String}un lien vers lefunction(cmd)cmd.widget {Object}: une instance de widget temporairecmd.widgets {Array}une liste des widgets enregistréscmd.remove() {Function}supprime le widgetcmd.append(name)remplace le widget temporaire actuel avec un nouveau widget (nom du widgetname)
format {String}un lien vers lefunction(toolbar)toolbarPeut êtrenulltoolbar.element {jQuery element}Un élément actueltoolbar.node {HTML element}Un élément actueltoolbar.widget {Object}: une instance de widgettoolbar.style {Object}contient un style actuel, par exemplebold: 1, link: 1
upload {String}un lien vers lefunction(opt, callback)opt.accept {String}Optionnelopt.files {FileList}Optionnelopt.multiple {Boolean}optionnel, défaut :falseopt.width {Number}Optionnelopt.height {Number}Optionnel- IMPORTANT: L'argument
callbackdoit être exécuté après avoir été téléchargé avec l'argumentairefiles {Array}
change {String}un lien vers lefunction(change)change.id {String}Identificationchange.block {String}: un identifiant de blocchange.blockprev {String}: un identifiant de bloc précédentchange.widget {String}: un widget id- Type de fonctionnement
change.type {String}(insérer, mettre à jour, supprimer)
contextmenu {String}un lien vers lefunction(widget)lorsque l'utilisateur a appuyé sur le bouton droit du widgetcheck {String}est un lien vers lefunction(widget)qui décide si vous pouvez ou non éditerplaceholder {String}un locataire pour le widget HTML par défaut (par défauts:Press / for adding rich content)
Méthodes :
component.save(function(data, ischange) {pour le contenu économisécomponent.import(url or url_array, [callback])pour l'importation de widgets supplémentairescomponent.notify(event, [a], [b], [c], [d])émet un événement dans chaque widget
Bon à savoir :
Le composant crée une variable mondiale appelée window.papercache {Object} utilisée par toutes les instances de j-Paper.
- le composant comparera le contenu lorsque vous modifiez les données, afin que vous puissiez changer les données en temps réel
- le composant attribue (dans la forme) la classe
paper-yourwidgetnameà chaque élément de widget - Classes HTML réservées
readonly,widget,selected- Utilisation :
.readonly .paper-yourwidgetname { ... }
- Utilisation :
htmlelement.$widget {Object}contient un widget- La méthode
widget.remove()supprime le widget
- La méthode
Résumé de texte Edit:
- Le
CMD + mmet en valeur le texte - Le
CMD + lcrée un lien CMD + p: une icôneCMD + bCourageuxCMD + iItalieCMD + usous-line
Bon à savoir :
- L'attribut
[data-prevent]peut empêcher l'événement de clic dans le widget
Utilisation
<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>Servez l'indice widget sur /paper/db.json et ses fichiers widget de votre application.
Source : Composants Total.js. Copyright Peter Širka et contributeurs. Licence MIT.