Bug 32027 - Replace dojo EnhancedGrid with dgrid
Replace dojo EnhancedGrid with dgrid
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC (Generic)
UCS 3.1
Other Linux
: P5 enhancement with 4 votes (vote)
: UCS 4.2
Assigned To: Jürn Brodersen
Johannes Keiser
: interim-2
: 25087 28073 30493 30809 31522 33180 33618 34384 37857 (view as bug list)
Depends on: 42291 43509
Blocks: 43451 43452 43575 43870
  Show dependency treegraph
 
Reported: 2013-07-19 18:29 CEST by Alexander Kläser
Modified: 2017-04-04 18:29 CEST (History)
4 users (show)

See Also:
What kind of report is it?: Development Internal
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): UCS Performance
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kläser univentionstaff 2013-07-19 18:29:13 CEST
We could use the new dgrid in replacement of the deprecated dojox/grid/EnhancedDataGrid which we are currently using. The dgrid is faster in performance and easier to adapt to our needs. We are already using dgrid for the overview and App center page.

dgrid also make use of the easier to manage Dojo object store. However, this would also mean to adapt the UMC Computer room module in UCS@school to this change.

Some links about the dgrid:

  https://github.com/SitePen/dgrid
  http://dojofoundation.org/packages/dgrid/
  https://github.com/SitePen/dgrid/wiki

See also Bug 26857 and Bug 28073.
Comment 1 Florian Best univentionstaff 2013-10-09 12:10:02 CEST
*** Bug 27041 has been marked as a duplicate of this bug. ***
Comment 2 Alexander Kläser univentionstaff 2014-07-21 17:09:38 CEST
*** Bug 28073 has been marked as a duplicate of this bug. ***
Comment 3 Florian Best univentionstaff 2016-03-16 12:42:15 CET
This would allow us to overwrite the sorting mechanism of our grid (needed to completely fix Bug #40747).

This would also allow us to fix the tree reloading as well as defining actions with buttons in the tree as needed in Bug #40831). Plus the context menu handling would be unified/generic.
Comment 4 Florian Best univentionstaff 2016-09-07 18:00:09 CEST
The new grid should also fix Bug #31522.
Comment 5 Florian Best univentionstaff 2016-10-07 17:45:51 CEST
*** Bug 30493 has been marked as a duplicate of this bug. ***
Comment 6 Florian Best univentionstaff 2016-10-07 17:46:11 CEST
*** Bug 25087 has been marked as a duplicate of this bug. ***
Comment 7 Florian Best univentionstaff 2016-10-07 18:17:06 CEST
*** Bug 33180 has been marked as a duplicate of this bug. ***
Comment 8 Florian Best univentionstaff 2016-10-10 14:12:26 CEST
*** Bug 34384 has been marked as a duplicate of this bug. ***
Comment 9 Florian Best univentionstaff 2016-10-10 14:13:01 CEST
*** Bug 33618 has been marked as a duplicate of this bug. ***
Comment 10 Florian Best univentionstaff 2016-10-21 11:52:49 CEST
*** Bug 30809 has been marked as a duplicate of this bug. ***
Comment 11 Florian Best univentionstaff 2016-10-21 14:15:18 CEST
*** Bug 37857 has been marked as a duplicate of this bug. ***
Comment 12 Florian Best univentionstaff 2016-10-21 14:33:01 CEST
*** Bug 31522 has been marked as a duplicate of this bug. ***
Comment 13 Florian Best univentionstaff 2016-11-02 12:11:24 CET
The UCS 4.2 System Setup currently does not start due to this error:

TypeError: this.moduleStore.query(...).observe is not a function
Stack trace:
.cache["umc/widgets/Grid"]/</<.postMixInProperties@http://localhost/univention/js/dojo/dojo.js:61853:20
.cache["dijit/_WidgetBase"]/</_WidgetBase<.create@http://localhost/univention/js/dojo/dojo.js:23196:4
.cache["dijit/_WidgetBase"]/</_WidgetBase<.postscript@http://localhost/univention/js/dojo/dojo.js:23150:4
chainedConstructor/<@http://localhost/univention/js/dojo/dojo.js:14852:5
._setupAppGallery@http://localhost/univention/management/modules/setup/ApplianceWizard.js:1236:20
.buildRendering@http://localhost/univention/management/modules/setup/ApplianceWizard.js:1490:4
.cache["dijit/_WidgetBase"]/</_WidgetBase<.create@http://localhost/univention/js/dojo/dojo.js:23214:4
.cache["dijit/_WidgetBase"]/</_WidgetBase<.postscript@http://localhost/univention/js/dojo/dojo.js:23150:4
chainedConstructor/<@http://localhost/univention/js/dojo/dojo.js:14852:5
._renderWizard@http://localhost/univention/management/modules/setup.js:219:18
.buildRendering/<@http://localhost/univention/management/modules/setup.js:114:6
.cache["dojo/_base/lang"]/</lang.hitch/<@http://localhost/univention/js/dojo/dojo.js:2725:48
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6840:21
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
all/</<@http://localhost/univention/js/dojo/dojo.js:13392:7
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6840:21
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
.cache["dojo/Deferred"]/</signalDeferred@http://localhost/univention/js/dojo/dojo.js:6884:6
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6855:6
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
.cache["dojo/Deferred"]/</signalDeferred@http://localhost/univention/js/dojo/dojo.js:6884:6
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6855:6
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
.cache["dojo/Deferred"]/</signalDeferred@http://localhost/univention/js/dojo/dojo.js:6884:6
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6855:6
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
.cache["dojo/Deferred"]/</signalDeferred@http://localhost/univention/js/dojo/dojo.js:6884:6
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6861:4
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
.cache["dojo/Deferred"]/</signalDeferred@http://localhost/univention/js/dojo/dojo.js:6884:6
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6855:6
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
handleResponse@http://localhost/univention/js/dojo/dojo.js:6175:4
onLoad@http://localhost/univention/js/dojo/dojo.js:6201:5
 ".cache["umc/widgets/Grid"]/</<.postMixInProperties@http://localhost/univention/js/dojo/dojo.js:61853:20
.cache["dijit/_WidgetBase"]/</_WidgetBase<.create@http://localhost/univention/js/dojo/dojo.js:23196:4
.cache["dijit/_WidgetBase"]/</_WidgetBase<.postscript@http://localhost/univention/js/dojo/dojo.js:23150:4
chainedConstructor/<@http://localhost/univention/js/dojo/dojo.js:14852:5
._setupAppGallery@http://localhost/univention/management/modules/setup/ApplianceWizard.js:1236:20
.buildRendering@http://localhost/univention/management/modules/setup/ApplianceWizard.js:1490:4
.cache["dijit/_WidgetBase"]/</_WidgetBase<.create@http://localhost/univention/js/dojo/dojo.js:23214:4
.cache["dijit/_WidgetBase"]/</_WidgetBase<.postscript@http://localhost/univention/js/dojo/dojo.js:23150:4
chainedConstructor/<@http://localhost/univention/js/dojo/dojo.js:14852:5
._renderWizard@http://localhost/univention/management/modules/setup.js:219:18
.buildRendering/<@http://localhost/univention/management/modules/setup.js:114:6
.cache["dojo/_base/lang"]/</lang.hitch/<@http://localhost/univention/js/dojo/dojo.js:2725:48
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6840:21
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
all/</<@http://localhost/univention/js/dojo/dojo.js:13392:7
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6840:21
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
.cache["dojo/Deferred"]/</signalDeferred@http://localhost/univention/js/dojo/dojo.js:6884:6
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6855:6
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
.cache["dojo/Deferred"]/</signalDeferred@http://localhost/univention/js/dojo/dojo.js:6884:6
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6855:6
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
.cache["dojo/Deferred"]/</signalDeferred@http://localhost/univention/js/dojo/dojo.js:6884:6
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6855:6
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
.cache["dojo/Deferred"]/</signalDeferred@http://localhost/univention/js/dojo/dojo.js:6884:6
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6861:4
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
.cache["dojo/Deferred"]/</signalDeferred@http://localhost/univention/js/dojo/dojo.js:6884:6
.cache["dojo/Deferred"]/</signalListener@http://localhost/univention/js/dojo/dojo.js:6855:6
.cache["dojo/Deferred"]/</signalWaiting@http://localhost/univention/js/dojo/dojo.js:6831:4
.cache["dojo/Deferred"]/</Deferred/this.resolve@http://localhost/univention/js/dojo/dojo.js:6995:5
handleResponse@http://localhost/univention/js/dojo/dojo.js:6175:4
onLoad@http://localhost/univention/js/dojo/dojo.js:6201:5
Comment 14 Florian Best univentionstaff 2017-01-05 15:50:27 CET
(In reply to Florian Best from comment #13)
> The UCS 4.2 System Setup currently does not start due to this error:
> 
> TypeError: this.moduleStore.query(...).observe is not a function

Not every store is automatically a observable. I added this to univention-system-setup:

univention-system-setup (10.0.0-16):
r75597 | Bug #32027: (Bug #42291): make the app store observable to prevent exception

I don't know If this should be further fixed in the grid.
Comment 15 Jürn Brodersen univentionstaff 2017-01-30 15:33:57 CET
Successful build
Package: univention-web
Version: 1.0.3-3A~4.2.0.201701201545
Branch: ucs_4.2-0
Comment 16 Florian Best univentionstaff 2017-02-06 13:39:12 CET
There are exceptions in the UVMM module's formatter functions:

			var description = col.description(item);
→ col.description is an empty string. Maybe the wrong arguments are passed to the formatter function?

_viewFormatter (uvmm.js:1305)
(anonymous function) (dojo.js:2744)
col.formatter (dojo.js:62316)
_defaultRenderCell (dojo.js:63150)
_createBodyRowCell (dojo.js:63095)
(anonymous function) (dojo.js:2744)
createRowCells (dojo.js:63070)
renderRow (dojo.js:63158)
insertRow (dojo.js:61196)
inherited (dojo.js:14688)
insertRow (dojo.js:64473)
renderArray (dojo.js:61155)
inherited (dojo.js:14688)
renderArray (dojo.js:64447)
inherited (dojo.js:14688)
renderArray (dojo.js:65472)
(anonymous function) (dojo.js:64659)
signalListener (dojo.js:6922)
Deferred.then.promise.then (dojo.js:7143)
renderQueryResults (dojo.js:64658)
inherited (dojo.js:14688)
renderQueryResults (dojo.js:63754)
(anonymous function) (dojo.js:63649)
_trackError (dojo.js:64611)
renderQuery (dojo.js:63645)
refresh (dojo.js:63729)
inherited (dojo.js:14688)
refresh (dojo.js:65468)
_updateColumns (dojo.js:63460)
_setColumns (dojo.js:63444)
set (dojo.js:61438)
_setColumnsAttr (dojo.js:62341)
setColumnsAndActions (dojo.js:62243)
updateGrid (uvmm.js:1752)
(anonymous function) (uvmm.js:405)
(anonymous function) (dojo.js:2746)
(anonymous function) (dojo.js:30072)
signalListener (dojo.js:6922)
signalWaiting (dojo.js:6913)
Deferred.resolve (dojo.js:7077)
(anonymous function) (dojo.js:30068)
setTimeout (async)
defer ()
_handleResize ()
(anonymous function) ()
Comment 17 Alexander Kläser univentionstaff 2017-02-06 13:45:18 CET
(In reply to Florian Best from comment #16)
> There are exceptions in the UVMM module's formatter functions:
> ...

This happens in uvmm.js in the method:
> _viewFormatter: function(val, rowIndex, col)

It seems that the arguments differ from the previous implementation, here is the output from the console with break on exception, i.e., arguments are the parameters for _viewFormatter():

> console.log(JSON.stringify(arguments, null, 2))
{
  "0": true,
  "1": {
    "node_available": true,
    "vnc": true,
    "description": "",
    "mem": 2147483648,
    "vnc_port": 5900,
    "cpuUsage": 22.991672655029454,
    "state": "RUNNING",
    "suspended": false,
    "label": "ucs41-64",
    "type": "domain",
    "id": "qemu://...",
    "nodeName": "dc0.tmp.dev"
  },
  "2": {
    "node_available": true,
    "vnc": true,
    "description": "",
    "mem": 2147483648,
    "vnc_port": 5900,
    "cpuUsage": 22.991672655029454,
    "state": "RUNNING",
    "suspended": false,
    "label": "ucs41-64",
    "type": "domain",
    "id": "qemu://...",
    "nodeName": "dc0.tmp.dev"
  }
}
Comment 18 Florian Best univentionstaff 2017-02-06 13:55:59 CET
univention-web (1.0.13-2):
r76433 | Bug #32027: fix formatter parameter of grid actions
Comment 19 Florian Best univentionstaff 2017-02-06 14:48:42 CET
univention-web (1.0.13-3):
r76439 | Bug #32027: fix formatter parameter of grid actions

There was also a .formatter() call from dgrid itself which gave only 2 arguments.
Comment 20 Florian Best univentionstaff 2017-02-06 15:01:39 CET
REOPEN: The quota module doesn't show any content in the partition column anymore.
Comment 21 Florian Best univentionstaff 2017-02-06 15:06:48 CET
The updater module doesn't scroll to the bottom anymore when fetching the logfile contents.
Comment 22 Jürn Brodersen univentionstaff 2017-02-07 11:31:13 CET
(In reply to Florian Best from comment #20)
> REOPEN: The quota module doesn't show any content in the partition column
> anymore.

univention-web: 1.0.15-6
r76486: fix columns without default actions

The handling of columns without default actions was broken.

I added a bug to add default actions in the quota module: Bug 43507
Comment 23 Jürn Brodersen univentionstaff 2017-02-07 11:40:17 CET
(In reply to Florian Best from comment #21)
> The updater module doesn't scroll to the bottom anymore when fetching the
> logfile contents.

I opened a new bug for that: Bug 43508
Comment 24 Jürn Brodersen univentionstaff 2017-02-07 11:51:09 CET
The height of the body? does not change after changing a module.
After scrolling through a long list and clicking on the home button, the page is still as long as the list.
Comment 25 Jürn Brodersen univentionstaff 2017-02-07 12:36:50 CET
(In reply to Jürn Brodersen from comment #24)
> The height of the body? does not change after changing a module.
> After scrolling through a long list and clicking on the home button, the
> page is still as long as the list.

See Bug 43509
Comment 26 Florian Best univentionstaff 2017-02-13 13:12:41 CET
Instead of "Alle Einträge geladen" I would like something like "10 Einträge geladen".
Comment 27 Florian Best univentionstaff 2017-02-13 13:14:04 CET
The tree needs lazy loading, too?!
Comment 28 Florian Best univentionstaff 2017-02-17 18:00:24 CET
There is a reference to the deleted this._dataStore!

~/svn/dev/branches/ucs/management/univention-web/js/widgets/Grid.js
   612 »   »   »   »   »   »   »   »   »   return this._dataStore.getValue(iitem, this.moduleStore.idProperty);
Comment 29 Florian Best univentionstaff 2017-02-18 02:04:00 CET
@Juern
The property cacheRowWidgets seems to be gone. Can you say something about this?
Comment 30 Florian Best univentionstaff 2017-02-18 02:07:24 CET
The footerFormatter is not evaluated anymore. Instead the grid shows always "all Entries loaded". No way to overwrite this.
Comment 31 Florian Best univentionstaff 2017-02-18 02:15:02 CET
The function _updateFooterContent has also been removed, which is used in the UCS@school computerroom grid.
Comment 32 Florian Best univentionstaff 2017-02-18 03:24:02 CET
(In reply to Florian Best from comment #30)
> The footerFormatter is not evaluated anymore. Instead the grid shows always
> "all Entries loaded". No way to overwrite this.

(In reply to Florian Best from comment #31)
> The function _updateFooterContent has also been removed, which is used in
> the UCS@school computerroom grid.

I fixed both of these:
univention-web (1.0.25-1):
r76823 | Bug #32027: restore grid footer behavior
Comment 33 Florian Best univentionstaff 2017-02-18 03:35:50 CET
The tooltips aren't shown anymore if one overwrites the grid's cell content with a e.g. umc.widgets.Text.
Comment 34 Florian Best univentionstaff 2017-02-18 03:56:24 CET
The grid footer always says "Please perform a search" at the beginning when no entries exists. This message is wrong for grids which doesn't include any search.
Comment 35 Jürn Brodersen univentionstaff 2017-02-20 10:39:42 CET
(In reply to Florian Best from comment #29)
> @Juern
> The property cacheRowWidgets seems to be gone. Can you say something about
> this?

It's gone for quite some time now :)
Introduced in bug 29249 and removed with bug 26418
Comment 36 Florian Best univentionstaff 2017-02-20 10:42:38 CET
(In reply to Jürn Brodersen from comment #35)
> (In reply to Florian Best from comment #29)
> > @Juern
> > The property cacheRowWidgets seems to be gone. Can you say something about
> > this?
> 
> It's gone for quite some time now :)
> Introduced in bug 29249 and removed with bug 26418

Alright, then it's fine. I will remove it from UCS@school.
Comment 37 Jürn Brodersen univentionstaff 2017-02-20 10:51:37 CET
(In reply to Florian Best from comment #36)
> (In reply to Jürn Brodersen from comment #35)
> > (In reply to Florian Best from comment #29)
> > > @Juern
> > > The property cacheRowWidgets seems to be gone. Can you say something about
> > > this?
> > 
> > It's gone for quite some time now :)
> > Introduced in bug 29249 and removed with bug 26418
> 
> Alright, then it's fine. I will remove it from UCS@school.

It can also be removed from uvmm
Comment 38 Jürn Brodersen univentionstaff 2017-02-20 11:21:31 CET
(In reply to Florian Best from comment #34)
> The grid footer always says "Please perform a search" at the beginning when
> no entries exists. This message is wrong for grids which doesn't include any
> search.

As far as I know the grid doesn't know about the search widget. Would it be ok to either add an "hasSearchWidget" attribute or call "filter" on the grid at least once?
Comment 39 Florian Best univentionstaff 2017-02-20 11:33:46 CET
(In reply to Jürn Brodersen from comment #38)
> (In reply to Florian Best from comment #34)
> > The grid footer always says "Please perform a search" at the beginning when
> > no entries exists. This message is wrong for grids which doesn't include any
> > search.
> 
> As far as I know the grid doesn't know about the search widget. Would it be
> ok to either add an "hasSearchWidget" attribute
Better would be to replace the message with a generic one or make the string configurable.

> or call "filter" on the grid
> at least once?
That's not possible as we often have deactivated autosearch and not every grid store supports filtering.
Comment 40 Florian Best univentionstaff 2017-02-20 12:50:00 CET
The appliance wizard overwrite _onRowClick which doesn't exists anymore:

$ git grep _onRowClick
base/univention-system-setup/var/www/univention/setup/ApplianceWizard.js:»   »   _onRowClick: function(evt) {
Comment 41 Jürn Brodersen univentionstaff 2017-02-20 13:07:28 CET
(In reply to Florian Best from comment #40)
> The appliance wizard overwrite _onRowClick which doesn't exists anymore:
> 
> $ git grep _onRowClick
> base/univention-system-setup/var/www/univention/setup/ApplianceWizard.js:»  
> »   _onRowClick: function(evt) {

You can use
selectionMode: "multiple"
instead, that should do the same. (Select multiple rows without a modifier key)
Comment 42 Florian Best univentionstaff 2017-02-20 13:08:23 CET
(In reply to Jürn Brodersen from comment #41)
> (In reply to Florian Best from comment #40)
> > The appliance wizard overwrite _onRowClick which doesn't exists anymore:
> > 
> > $ git grep _onRowClick
> > base/univention-system-setup/var/www/univention/setup/ApplianceWizard.js:»  
> > »   _onRowClick: function(evt) {
> 
> You can use
> selectionMode: "multiple"
> instead, that should do the same. (Select multiple rows without a modifier
> key)

Can you adjust this in the file directly?
Comment 43 Jürn Brodersen univentionstaff 2017-02-23 18:18:03 CET
(In reply to Florian Best from comment #33)
> The tooltips aren't shown anymore if one overwrites the grid's cell content
> with a e.g. umc.widgets.Text.

What tooltips do you mean? The ucr module is working but that is setting its own tooltips.
Comment 44 Jürn Brodersen univentionstaff 2017-02-23 18:24:35 CET
(In reply to Florian Best from comment #34)
> The grid footer always says "Please perform a search" at the beginning when
> no entries exists. This message is wrong for grids which doesn't include any
> search.

This is now configurable with "initialStatusMessage"
Comment 45 Jürn Brodersen univentionstaff 2017-02-23 18:49:18 CET
(In reply to Florian Best from comment #32)
> (In reply to Florian Best from comment #30)
> > The footerFormatter is not evaluated anymore. Instead the grid shows always
> > "all Entries loaded". No way to overwrite this.
> 
> (In reply to Florian Best from comment #31)
> > The function _updateFooterContent has also been removed, which is used in
> > the UCS@school computerroom grid.
> 
> I fixed both of these:
> univention-web (1.0.25-1):
> r76823 | Bug #32027: restore grid footer behavior

Did you moved the footer back to the bottom?
Anyways I opened a new bug 43630 to discuss how the footer should be shown.
Comment 46 Jürn Brodersen univentionstaff 2017-03-14 12:43:55 CET
The grid that show the installation of apps in the domain doesn't show any apps.
Comment 47 Jürn Brodersen univentionstaff 2017-03-14 15:09:43 CET
(In reply to Jürn Brodersen from comment #46)
> The grid that show the installation of apps in the domain doesn't show any
> apps.

r77694: Fix grid for appDetailsPage in app center
Comment 48 Florian Best univentionstaff 2017-03-15 12:28:01 CET
Can you change "0 Nutzer von 5 ausgewählt" into "0 von 5 Benutzer ausgewählt"?
Comment 49 Dirk Wiesenthal univentionstaff 2017-03-15 13:06:29 CET
(In reply to Florian Best from comment #48)
> Can you change "0 Nutzer von 5 ausgewählt" into "0 von 5 Benutzer
> ausgewählt"?

This would be "0 von 5 Benutzer*n* ausgewählt". Which is is bit harder to translate, I guess.
Comment 50 Florian Best univentionstaff 2017-03-15 13:08:23 CET
(In reply to Dirk Wiesenthal from comment #49)
> (In reply to Florian Best from comment #48)
> > Can you change "0 Nutzer von 5 ausgewählt" into "0 von 5 Benutzer
> > ausgewählt"?
> 
> This would be "0 von 5 Benutzer*n* ausgewählt". Which is is bit harder to
> translate, I guess.

Since UCS 4.2 we have plural strings in ngettext.
Comment 51 Jürn Brodersen univentionstaff 2017-03-16 16:09:42 CET
r77823: fix select all checkbox in grids
Package: univention-web
Version: 1.0.39-2A~4.2.0.201703161604
Branch: ucs_4.2-0

I need an icon for the indeterminate state (some items are selected). A minus or wave or something like that.
Comment 52 Jürn Brodersen univentionstaff 2017-03-16 17:27:45 CET
r77828: fix window length after tab change
The umcMainTabContainer uses a dijitStackContainer which uses the changed dijitHidden class: In the result all tabs there as long as the longest open tab.

r77828: fix grid lazy rendering
I broke the lazy rendering by changing the position of the status message...
Comment 53 Jürn Brodersen univentionstaff 2017-03-17 16:13:16 CET
r77905: remove wrong status messages in grid
Package: univention-web
Version: 1.0.39-5A~4.2.0.201703171611
Branch: ucs_4.2-0
Comment 54 Jürn Brodersen univentionstaff 2017-03-17 16:14:33 CET
(In reply to Florian Best from comment #48)
> Can you change "0 Nutzer von 5 ausgewählt" into "0 von 5 Benutzer
> ausgewählt"?

I think udm is setting that string through a footer formater
Comment 55 Jürn Brodersen univentionstaff 2017-03-17 16:16:02 CET
(In reply to Florian Best from comment #50)
> (In reply to Dirk Wiesenthal from comment #49)
> > (In reply to Florian Best from comment #48)
> > > Can you change "0 Nutzer von 5 ausgewählt" into "0 von 5 Benutzer
> > > ausgewählt"?
> > 
> > This would be "0 von 5 Benutzer*n* ausgewählt". Which is is bit harder to
> > translate, I guess.
> 
> Since UCS 4.2 we have plural strings in ngettext.

I decided against using that function because it can't use objects, which makes the translation files hard to read.
Comment 56 Florian Best univentionstaff 2017-03-20 13:43:56 CET
Please add a changelog entry!
Comment 57 Jürn Brodersen univentionstaff 2017-03-21 18:37:10 CET
(In reply to Florian Best from comment #56)
> Please add a changelog entry!

r78067
Comment 58 Johannes Keiser univentionstaff 2017-03-29 15:55:40 CEST
r 78468
* Bug #32037: Fix alignment of grid buttons in tile view and
adjust the scrollposition that triggers rendering of new items
(Commited with wrong bug no.)

r 78471
univention-management-console-module-udm (7.0.9-15) 
* Bug #32027: Fix css for firefox 31 - firefox 48
-------------------------------------------------


Tested with Firefox 38; IE 11; EDGE 13; Safari 9.1; Chrome 43

OK: styling is ok in all tested browsers
OK: lazy rendering works in all tested browsers
OK: selection of multiple rows with checkboxes, ctr and shift key
    works in all tested browsers
OK~: Selection of multiple users in the tile view of Users module only
    possible with ctr key but that is ok.
    Exception: In Safari the detailpage of the user was opened even if ctr was
               held down.
               Could be due to lack of apple command key (tested with
               browserstack on an mac)
OK: changelog entry
-> Verified
Comment 59 Stefan Gohmann univentionstaff 2017-04-04 18:29:49 CEST
UCS 4.2 has been released:
 https://docs.software-univention.de/release-notes-4.2-0-en.html
 https://docs.software-univention.de/release-notes-4.2-0-de.html

If this error occurs again, please use "Clone This Bug".