JS-Setup: kivi.reinit_widgets() nutzen und dort Controls nur einmalig initialisieren
ClientJS: neue Funktionen "run()", "run_once_for()"; Dokumentation
ClientJS: AJAX-Form-Submit mit jQuery-Form-Plugin
jqModal-Dialoge durch jQuery-UI-Dialoge ersetzen
kivi.popup_dialog: auf jQuery UI basierende Popupdialoge
ClientJS: Funktionen zum Hinzufügen und Entfernen generischer Eventhandler
kivi.js: Funktion zum Auffinden von Funktionen über ihren Namen
Funktioniert sowohl mit globalen Funktionen als auch mit solchen inNamensräumen (Objekten):
var func = kivi.get_function_by_name("kivi.t8");
ClientJS: Daten bei AJAX-Submits als POST-Content schicken, nicht an die URL dran
Ausgehählten Tab nur dann speichern, wenn eine ID angegeben wurde
CustomerVendor: MapWidget umgebaut
CustomerVendor: namespace-Aufrufe entfernt
Geöffnete Tabs in Cookies speichern + wiederaufrufen
Karten-Icon nur anzeigen, wenn eine Adresse angegeben ist
Pfad in autocomplete_customer angepasst
ct.pl als Controller
make_defined_state auch beim Klicken ausserhalb des Pickers
Problem war, dass ein einfacher blur handler auch getriggert hat wenn das jqmaufgeht. Dafür ist der timermechanismus jetzt mit ins widget gewandert und derblur handler wird einfach abgebrochen
Partpicker: key-events auch in chrome getestet
ClientJS: automatisch Date- und Partpicker nach AJAX-Request initialisieren
PartPicker: nicht global cachen sondern mit $.data ans DOM objekt packen
Partpicker: Filtermöglichkeit nach konvertierbaren Einheiten ('convertible_unit')
Partpicker: Filtermöglichkeit nach Einheiten ('unit')
Partpicker: filter.type nur mitschicken, wenn wirklich ein Typ angegeben war
Ansonsten wird "&filter.type[]=" geschickt, was in Perl letztlich als"$::form->{type} = ['']" ankommt -- und damit ungültige Filtererstellt.
Überflüssige Funktion close_jqm_window() wieder entfernt
Die kam vermutlich beim Mergen/Rebasen vom Partpicker aus Versehenwieder hinein.
Kommentar zu jquery bug #14120 ist nicht mehr notwenidig
multiple types
ajax_autocomplete umgestellt auf get_models und inline JSON (20% schneller als template)
Bei tab und enter den ersten full match benutzen. nur wenn der nicht eindeutig ist resetten oder popup öffnen
mehr code nach js/ verlagert
caching der Widget und javascriptteile nach js/ verschoben
Verhalten bei nicht existenten Waren verbessert
- tab aus dem element resettet auf letzten Stand- enter wird ignoriert, statt wie vorher das jqm aufzumachen
Updates durch den aprtpicker sollten change trigger triggern
internal state, besseres zurücksetzen auf den letzten bekannten zustand
Diverse kleine Verbesserungen und namespace Kapselung
bei enter und nicht eindeutig -> dialog öffnen
Part Picker
Löschen von Angeboten/Aufträgen mit JavaScript-Sicherheitsabfrage
"WebDAV" einheitlich schreiben
Datenbank löschen: auch benutzte auswählbar, dann aber mit Sonderwarnung
Fixt #2312.
Verwaltung von benutzerdefinierten Variablen auf Controller umgestellt
Optionales Fokus-Setzen via CSS-Klasse "initial_focus"
jqModal: open_jqm_window() auch den Requesttyp mitgeben können
JS-Multiselect2Side: Namen der temporären Controls von Original-ID und nicht -Name ableiten
Der Name ist nicht zwangsläufig eindeutig, vor allem, wenn mehrereElemente dieser Art auf einer Seite vorhanden sind. Beispiel:name="client[].users[]" mehrfach in einer Schleife ausgegeben.
JS-Variable richtig geschrieben
client_js.js: Funktionen in namespace kivi verschoben
jQuery-Script/Methode zum Anstoßen von Downloads
ClientJS: "jqmClose()" zum Schließen von jqModal-Dialogen
Verknüpfte Belege: JS-Code und CSS für jqModal verallgemeinert
ClientJS: alle Flash-Kategorien nach nächstem Standard-AJAX-Call leeren
ClientJS: Unterstützung für Browser-Redirects ("$js->redirect_to")
ClientJS: jQuery-Funktionen addClass, removeClass, toggleClass; Utility-Funktion "action_if"; Doku
JS-Übersetzung immer in HEAD laden
ClientJS: Unterstützung für jstree.create_node
Error-Handling: Bei AJAX-Requests Fehler als JSON-Object zurückgeben
ClientJS: Methoden "focus" und "action"
JS-Übersetzung: Fehlermeldung unterdrücken und nur eine Abfrage am Stück zulassen
Merge branch 'dev'
JS-Übersetzungen in den js-Ordner verschoben (Teil 2)
ClientJS: um jstree-Funktionen erweitert; client_js.js komplett automatisch erzeugen
Neues JS: jquery.contextMenu
jstree-jQuery-Plugin hinzugefügt
Merge branch 'master' into dev
Serverseitiges Erzeugen von im Client ausgeführten JavaScript-Befehlen
JS-Übersetzungen in den js-Ordner verschoben
Lokalisierungsdateien jquery-ui hinzugefügt
Fixt #2179.
Update jQuery auf 1.9.1, jQuery-UI auf 1.10.1
scripts/locales.pl um JS-Übersetzung erweitert
Refactoring: DHTML-Tab-Dialog durch Variante aus jQuery-UI ersetzt
JS- und CSS-Menüs: Frame-Header vereinheitlicht
customer_autocomplete
Javascript war nicht in der Lage mehr als ein Feld zu handhaben. Es istjetzt ausgelagert in ein Javascript und wird nur bei Bedarf geladen.
Unterstützung für $::form->{fokus} entfernt, weil zu anfällig.
behebt #2028
Ajax Layout Wrapper für CRM und LxCars
Css vom Menü nicht nachträglich laden, sondern schon im Layout laden.
Idee ist prinziipell gut, gibt aber Probleme mit dem auflösen von user stylesheets bei ajax layouts
cookie magic aus js/switchmenuframe.js entfernt, funktioniert nicht richtig
switch_menu script und transition
javascript menü gefixt.
HTML Menü merkt sich jetzt über cookie den letzten Zustand
switchmenuframe so umgeschrieben dass es keine fehler wirft
JS-Menü: Scrollbalken "etwas" gefixt.
Revert "JS-Menü: Scrollbalken "etwas" gefixt."
This reverts commit 2c4715de6cadaed4c13a198cb26bea0a9c8c27f1.
JS-Menu: Bei Mittel-Klick Link im neuen Fenster öffnen(Ticket #1921)
Javascriptmenü auch im IE9
Der Kompatibilitätsmodus für alte IEs ist broken und totaler Quark. IE9 kanndie Standardvariante problemlos. Ergo: Kein Support mehr für alten Schrott,dafür funktionierendes Menü im IE9.
Javascriptmenü: Eventhandling korrigiert
Der originale Ansatz war Handler einfach an irgendwas dranzuklatschen, unddurch neue zu ersetzen wenn sich ein State geändert hat.
Jetzt gibts es 3 Handler, die einen Großteil der Aufgaben übernehmen:- changeMenuBarState (auf und zuklappen, bei Topmenü Klick)...
Javascriptmenü nicht nach rechts aus dem Bildschirm fallen lassen.
Bei Klick auf Menüpunkt und in den header auch den State resetten.
Javascriptmenü: State deaktivieren, wenn Klick in contentframe
javascriptmenü: Bei Click in Contentbereich das Menü schließen.
Unser eigenes "check all checkboxes" durch unsere eigene jQuery-Variante ersetzen
Onlinehilfe als modale Overlays.
L.online_help_tag produziert jetzt nicht mehr ein Popup sondern ein modales Overlay.Im template muss leider im Moment noch ein Ziel dafür eingebunden werden mit:
[% PROCESS 'common/help_overlay.html' %]
Berechnung in Zahlenfelder: Erlaubte Zeichen auf Klammern ausgeweitet
fix js number test
add number calculation in number form fields
kopf.pl auf Controller umgestellt
jQuery-UI-Bibliothek v1.8.12 hinzugefügt
Alte jQuery-Versionen entfernt
Bearbeiten der Konfiguration für wiederkehrende Rechnungen implementiert
Zzgl. der Suchfunktionserweiterung bei Aufträgen
jQuery-Form-Plugin für AJAXifizierung von Forms
Update auf jQuery 1.4.4
Nicht im onchange sortieren
Dadurch wurden Selektionen zurückgesetzt, was Multi-Select verhinderthat.