Got myself a library card today for the Cuyahoga County Public Library system. I didn’t realize that they seem to take Cleveland Public Library cards, so I may not have needed it. I haven’t used that card in years though, so may have needed a new one anyway. I had gotten that one when I tried to use my Peninsula library card after years of disuse and got a very surprised reaction from the librarian, like it was some ancient artifact. I think my new card was intended for young children, because it says ‘my first library card’, but I chose it because it was my favorite color and had a cool owl on it.
I’ve been visiting the library for near two years without a card. I’ve mostly been working remotely from there, but recently have started to read some books after work. I recently started the book Dune, and it was interesting enough and seemed long enough and a tough enough of a read (it has a complicated universe and has enough of its own words to have a 31 page appendix) to be better served by taking it home.
We recently acquired licenses for Kendo UI at Cogneato. We have plans to use some of its widgets, most notably the data grid and window, heavily in the admin interface for the new CMS we will be building. We figured that the time we save from not having to build similar widgets ourselves would be well worth the hefty license costs.
We have made use of the window in a few sites so far, and the grid on alpleaders.org. I have found that for both widgets, it has helped to build a sort of wrapper around them. The wrapper helps normalize configuration and handles some things that we want to happen for all instances. Some of this was related to problems we ran into with the widgets or features we wanted that weren’t built in.
For instance, the data grid has the ability to be filtered per column client side. A ‘row’ mode provides an input with autocomplete for the values in that column. If you want to use a different mode, however, there is no built in autocomplete feature. You have to create an autocomplete widget for each column. Attaching the same data source as the grid uses results in the same number of items in the autocomplete as there are rows in the grid, meaning if 30 items have a ‘State’ of ‘Ohio’, the autocomplete will show ‘Ohio’ 30 times. I set up a helper to build columns and automatically create a new data source with a single instance of each value for the items in a given column. I’m not sure why, since they already built their own logic for the ‘row’ mode, they couldn’t make that an option for other modes.
The heart of tmclasses is the create method. It is passed an argument with all of the configuration to create a class.
I’ve been doing the more manual approach for my library, but have been desiring for a while to get more organized and streamline repetition by adding my own namespace function. I got to thinking about doing more with the namespace objects, so that they can perform operations on themselves once created. For example, they might be able to create and return sub-namespaces as well as easily extend themselves.