j-Paper
Komponent edytuje dokument jako szereg obiektów widgetowych.Zwiąż ścieżkę modelu do tego szeregu, skonfigurować magazyn widgetowy i użyć autosave do pisania edycji z powrotem do modelu.
- Produkcja jest prostą strukturą
Object Array:[{ id: String, widget: String, newbie: Boolean, changed: Boolean, config: Object }]
- Rejestracja widgetów: https://github.com/totaljs/parts/tree/main/paper
Konfiguracja:
readonly {Number}umożliwia/nie jest dostępny w trybie readonnym0=disabled,1=partially enabled,2=fully enabledparent {String}opcjonalny, element macierzyński dla wysokości min (default:null)- Dodatkowy margines
margin {Number}dla wysokości min (default:0) - Zmiany
autosave {Boolean}są automatycznie serializowane według ścieżki widgets {String}link do widgetów (default: Componentator CDN)- może zawierać wiele adresów podzielonych przez comma
mywidget1.html,/mywidget2.html,etc.. - lub możesz utrzymać Struktura CDN
- może zawierać wiele adresów podzielonych przez comma
icon {String}- link dofunction(opt, callback)opt.element {jQuery element}- WYJĘCIA: nazwać argument
callback, jeśli ikona została zmieniona w elementie
link {String}- link dofunction(opt)opt.element {jQuery element}opt.href {String}opt.target {String}opt.widget {Object}w przypadku widgetów
command {String}- link dofunction(cmd)cmd.widget {Object}- wstępny widgetcmd.widgets {Array}- lista zarejestrowanych widgetówcmd.remove() {Function}usuwa widgetcmd.append(name)zastępuje bieżący widget tymczasowy nowym widgetem (nazwa widgetuname)
format {String}- link dofunction(toolbar)toolbarmoże byćnulltoolbar.element {jQuery element}- aktualny elementtoolbar.node {HTML element}- aktualny elementtoolbar.widget {Object}w przypadku widgetówtoolbar.style {Object}zawiera aktualny styl np.bold: 1, link: 1
upload {String}- link dofunction(opt, callback)opt.accept {String}opcjonalnyopt.files {FileList}opcjonalny- Opcjonalny
opt.multiple {Boolean}, domyślny:false opt.width {Number}opcjonalnyopt.height {Number}opcjonalny- WYWIĄZANIE: Argument
callbackmusi być wykonany po przesłaniu z argumentemfiles {Array}
change {String}- link dofunction(change)change.id {String}identyfikatorchange.block {String}- identyfikator blokuchange.blockprev {String}- identyfikator blokuchange.widget {String}- identyfikator widgetów- Typ operacyjny
change.type {String}(wstawić, zaktualizować, usunąć)
contextmenu {String}link dofunction(widget)gdy użytkownik naciśnił prawą przycisk myszy na widgetcheck {String}jest linkem dofunction(widget), który decyduje, czy umożliwić edycję, czy nieplaceholder {String}miejsce dla domyślnego widżetu HTML (domyślny:Press / for adding rich content)
Metody:
component.save(function(data, ischange) {dla oszczędzania treścicomponent.import(url or url_array, [callback])do importu dodatkowych widgetówcomponent.notify(event, [a], [b], [c], [d])emituje wydarzenie w każdym widgetie
Dobrze wiedzieć:
Składnik tworzy globalną zmienną o nazwie window.papercache {Object}, która jest używana przez wszystkie instancje j-Paper.
- Składnik porównuje treść, gdy zmieniasz dane, dzięki czemu możesz zmienić dane w czasie rzeczywistym
- składnik przypisuje (w formie) klasę
paper-yourwidgetnamedo każdego elementu widgetowego - Klasy HTML
readonly,widget,selected- Dostarczane do użytku:
.readonly .paper-yourwidgetname { ... }
- Dostarczane do użytku:
htmlelement.$widget {Object}zawiera widget- Metoda
widget.remove()usuwa widget
- Metoda
Krótki tekst w edycji:
CMD + mpodkreśla tekstCMD + ltworzy linkCMD + pdodaje ikonęCMD + b- odważny- Włoski
CMD + i CMD + uPodsumowanie
Dobrze wiedzieć:
- Atrybut
[data-prevent]może zapobiec kliknięciu w widgetie
Używanie
<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>Serwuj indeks widgetów w /paper/db.json i jego pliki widgetowe z aplikacji.
Źródło : Składniki Total.jsCopyright Peter Širka i jego współpracownicy. Licencja.