rm25232
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| rm25232 [2018/04/16 16:08] – [Ext.view.View] kalaschnikow | rm25232 [2018/04/24 11:22] (current) – [Problem nachvollziehen] kalaschnikow | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== rm#25232 Browser Compatibility - Chrome DA UX UE assignment issue (expand/ | ||
| + | https:// | ||
| + | |||
| + | ===== Problem nachvollziehen ===== | ||
| + | |||
| + | * ASN mit 4 UEs erstellen (durch Split) | ||
| + | * Auf die UX Maske wechseln | ||
| + | * Nach "UX Number" | ||
| + | * 1 UX erzeugen | ||
| + | * Knopf "1 UX per UE" drücken. Es werden 4 neue UXes erzeugt. // | ||
| + | * Jetzt z.B. das oberste UX zuklappen/ | ||
| + | |||
| + | ===== Ursache ===== | ||
| + | |||
| + | * In '' | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * die erstellten UXes werden unter Umständen nicht verwendet (s. Zeile 1027) | ||
| + | ===== Notizen ===== | ||
| + | |||
| + | ==== Ext.view.View ==== | ||
| + | Zeilen 130673 - 131316 in " | ||
| + | |||
| + | Ab Zeile 131079: | ||
| + | <code javascript> | ||
| + | processUIEvent: | ||
| + | | ||
| + | //... | ||
| + | | ||
| + | var me = this, | ||
| + | // this.getTargetSelector() can be used as a template method, e.g., in features. | ||
| + | item = e.getTarget(me.getTargetSelector(), | ||
| + | map = me.statics().EventMap, | ||
| + | index, record, | ||
| + | type = e.type, | ||
| + | newType = type, | ||
| + | sm; | ||
| + | // If the event is a mouseover/ | ||
| + | // use that event type and ensure that the item is correct. | ||
| + | if (e.newType) { | ||
| + | newType = e.newType; | ||
| + | item = e.item; | ||
| + | // When not buffering mouseover events, the event is a singleton; clear for next usage. | ||
| + | e.newType = e.item = null; | ||
| + | } | ||
| + | // For keydown events, try to get either the last focused item or the selected item. | ||
| + | // If we have not focused an item, we'll just fire a container keydown event. | ||
| + | if (!item && type == ' | ||
| + | sm = me.getSelectionModel(); | ||
| + | record = sm.lastFocused || sm.getLastSelected(); | ||
| + | if (record) { | ||
| + | item = me.getNode(record, | ||
| + | } | ||
| + | } | ||
| + | if (item) { | ||
| + | if (!record) { | ||
| + | record = me.getRecord(item); | ||
| + | } | ||
| + | index = me.indexInStore ? me.indexInStore(record) : me.indexOf(item); | ||
| + | // It is possible for an event to arrive for which there is no record... this | ||
| + | // can happen with dblclick where the clicks are on removal actions (think a | ||
| + | // grid w/" | ||
| + | // pruned by a buffered store. | ||
| + | if (!record || me.processItemEvent(record, | ||
| + | return false; | ||
| + | } | ||
| + | if ((me[' | ||
| + | return false; | ||
| + | } | ||
| + | me.fireEvent(' | ||
| + | } else { | ||
| + | if ((me.processContainerEvent(e) === false) || (me[' | ||
| + | return false; | ||
| + | } | ||
| + | me.fireEvent(' | ||
| + | } | ||
| + | return true; | ||
| + | }, | ||
| + | </ | ||
| + | |||
| + | ==== Ext.view.Table ==== | ||
| + | Zeilen 143051 - 145239 in " | ||
| + | |||
| + | Ab Zeile 143786: | ||
| + | <code javascript> | ||
| + | indexInStore: | ||
| + | // We cannot use the stamped in data-recordindex because that is the index in the original configured store | ||
| + | // NOT the index in the dataSource that is being used - that may be a GroupStore. | ||
| + | return this.dataSource.indexOf(this.getRecord(node)); | ||
| + | }, | ||
| + | </ | ||
