Pflichtenheftzeitschätzung: neuer Menüeintrag "Speichern und geöffnet lassen"
Pflichtenheftitems & -textblöcke: Tooltips im Baum mit Inhaltsauszug anzeigen gefixt
Tooltips am <li> haben das Problem, dass sie bei sehr hohen<li>s (gerade bei ganzen Abschnitten, aber auch bei Funktionsblöckenmit sehr vielen Unterfunktionsblöcken) unterhalb des <li> angezeigt...
Pflichtenheftitems & -textblöcke: Tooltips im Baum mit Inhaltsauszug anzeigen
Pflichtenheftitems: Shift+Return = nächster neuer Block auf anderer Ebene
Pflichtenheftitems: RETURN in Zeitschätzungs-Input via AJAX submitten gefixt
jQuery.hotkeys-Plugin hinzugefügt
Pflichtenhefttextblöcke: Anordnung Bilder via Drag&Drop ändern können
Pflichtenheftbilder: Kopieren & Einfügen implementiert
Pflichtenhefte: Unterstützung für an Textblöcke angehängte Bilder
Pflichtenhefte Angebote/Aufträge: "Artikel allen Abschnitten zuweisen" fixen
Pflichtenhefte: Verwendung von jQuery-UI-Dialogen anstelle von jqModal
Pflichtenhefte: vor Tabwechseln mit Datenverlust nachfragen
Pflichtenheft Angebote/Aufträge: "Abbrechen" ohne AJAX-Call nur in JS
Pflichtenheftkostenschätzung: "Abbrechen" ohne AJAX-Call nur in JS
Pflichtenheft-Grundeinstellungen erst read/only anzeigen, nicht direkt als Maske
Pflichtenheft Angebote/Aufträge: Anlegen nur, wenn allen Abschnitten Artikeln zugewiesen wurden
Pflichtenheftabschätzung: Bei RETURN per AJAX speichern; "Speichern"-Button anzeigen
Pflichtenheftitems: bei RETURN in Zeitabschätzung per AJAX abschicken
Pflichtenheftitems: AJAX-Calls für erweitertes Menü gefixt
Pflichtenhefttextblöcke: AJAX-Calls für erweitertes Menü gefixt
Pflichtenhefte: Löschen von Aufträgen/Angeboten
Pflichtenhefte: Aktualisieren von Angeboten/Aufträgen
Pflichtenhefte: Anlegen von Angeboten/Aufträgen
Pflichtenhefte: Locales & Spalte "Auftrags-/Angebotsdatum"
Pflichtenhefte: Zuweisung Artikel zu Abschnitten implementiert
Pflichtenheft-Angebot/Auftrag: Liste in Tab anzeigen
"WebDAV" einheitlich schreiben
Pflichtenheftvorlagen einfügen
Debugcode entfernen
Zeitabschätzung auch in Vorlagen bearbeiten können
Pflichtenheftvorlage: Maske zur Auswahl des Einzufügenden
Pflichtenheftvorlagen: Textblöcke doch erfassen können; dafür Wort "Abschnitt" entfernt
Pflichtenheftabschnittsvorlagen erzeugen, bearbeiten, löschen
client_js.js: Funktionen in namespace kivi verschoben (Pflichtenheft-Teil)
requirement_spec.js: Funktionen in namespace kivi.requirement_spec verschoben
Pflichtenhefte: PDFs zu Arbeitskopie und Versionen erzeugen
Pflichtenheft-Popupmenü: Überschriften immer und unterstrichen anzeigen
Pflichtenhefte auf Versionen zurücksetzen können
Pflichtenheftversionen anlegen und auflisten
Kontextmenü mit Pflichtenheftaktionen überall anzeigen
Pflichtenhefte: Kopieren (clonen) generell und Löschen aus Kontextmenü implementiert
Pflichtenhefte: Zeit- und Kostenschätzungsmaske
Pflichtenhefte: Copy & Paste für Textblöcke & Items
Pflichtenheftitems & Textblöcke: Selektion bei Popupmenü durch Markierung links anzeigen
Pflichtenheftitems: Umstellung submit_ajax_form()
Pflichtenhefttextblöcke: Umstellung submit_ajax_form()
Pflichtenhefte: Statischen JavaScript-Code nach js/requirement_spec.js verschieben
Pflichtenhefte: show & Bearbeiten in eigenen Tab
Pflichtenheftitems: Neuanlegen von (Unter)Funktionsblöcken
Pflichtenheftitems und Abschnitte bearbeiten
Debugcode
Pflichtenheftpunkte bearbeiten
Pflichtenhefte: Auflisten von Abschnitten
Textblöcke bearbeiten, verschieben: verschiedene Fixes
Löschen von Textblöcken
Textblöcke bearbeiten
Pflichtenhefte: Drag & Drop von Textblöcken
Pflichtenhefte: Erste Version Baumansicht Textblöcke/Abschnitte/Funktionsblöcke
kivi.reinit_widgets(): lokale Funktion local_reinit_widgets() aufrufen, wenn existent
Kaputte Symlinks in css/Mobile gelöscht oder umgebogen
PartPicker: nach Artikelauswahl custom event 'set_item:PartPicker' mit item-Daten verschicken
Verkaufs-/Einkaufsmasken: Langtext in jQuery-Popup bearbeiten
Der alte Mechanismus öffnete ein normales Popup-Fenster, in dem eineURL geladen wurde, die dann die Maske angezeigt hat. DasZurückschreiben geschah schon via JavaScript.
Mit der Methode gibt's zwei Probleme:...
Artikelstammdaten: Spracheinstellungen rein in eigenem Tab bearbeiten
kivi.popup_dialog(): Unterstützung für bereits existierende DIVs
Damit muss kein AJAX-Call mehr gemacht werden, sondern man kann denDIV initial versteckt rendern und dann beliebig oftanzeigen (öffnen)/verstecken (schließen).
Beim Anlegen von neuen Ansprechpersonen: CVars-Standardwert anzeigen
fixt #2422
Ansprechpersonen-CVar: richtig anzeigen
Tippfehler beim Verarbeiten der AJAJ-Antwort behoben.fixt #2420
Google-Maps-Karten-Symbol auch anzeigen, wenn Land leer ist
jquery.checkall für Mahnungen invertiert
Confirm bei geänderter/m Kontonummer/-namen
fixt #2319
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