{"push_id":810413171,"size":6,"distinct_size":6,"ref":"refs/heads/searchable-associations","head":"8a49aa513f95c503aaa26fa485fbd8c9776d8720","before":"c84d703dec40e074e29189ff33f261579f692f10","commits":[{"sha":"bbdadbf2c2420f84333921a7dab0e03d96d3eccf","author":{"email":"52aa6192da641551ec177a7c5358daf55b07db4a@flachware.com","name":"johanneskrtek"},"message":"Add missing .alert-dismissible class to flash\n\nIn Bootstrap the correct styling of the .close button (use a button element) depends on the .alert-dismissible class.","distinct":true,"url":"https://api.github.com/repos/quarkstudio/rails_admin/commits/bbdadbf2c2420f84333921a7dab0e03d96d3eccf"},{"sha":"3be1f2f77f2c390a1dd5bc26f3dc1d255006e3a3","author":{"email":"52aa6192da641551ec177a7c5358daf55b07db4a@flachware.com","name":"johanneskrtek"},"message":"Fix typo.","distinct":true,"url":"https://api.github.com/repos/quarkstudio/rails_admin/commits/3be1f2f77f2c390a1dd5bc26f3dc1d255006e3a3"},{"sha":"8afc20d5e47fd3b0075b9e97c0e7cc495989bbec","author":{"email":"56b46cee07dfebb343370dd535af8e8a25e0304f@gmail.com","name":"Megha"},"message":"Change multiselect cache structure\n\nThe existing structure used an Object as a cache where the keys are the\nvalues of option elements, and values are the HTML content of the option\nelements. In Javascript, if a numeric value in the form of a string is\nassigned as a key, it gets converted to an integer. Optimization\nroutines would then order the object to ensure faster access to\nelements. For example:\n\ncache = {}\ncache['2'] = \"two\"\ncache['1'] = \"one\"\nconsole.log(cache[2])  #=> \"two\"\nconsole.log(cache[1])  #=> \"one\"\nconsole.log(cache)     #=> {1: \"one\", 2: \"two\"}\n\nNote the coercion of strings to ints above. This messes with the\nordering of multiselect options list whenever there is a user input. To\navoid this from happening, the keys need to have a string that can't be\ncoerced automatically, and then preserve the value of the option\nelement.\n\nI chose to use an object that stores the option value and the option\nHTML as the value of the cache and a string of the format 'o_<option\nvalue>' as the key. This ensures that the insertion order is preserved.\nThis is the new structure:\n\ncache = {\n  'o_271': { id: 271, value: 'CartItem #271'},\n  'o_270': { id: 270, value: 'CartItem #270}'\n}","distinct":true,"url":"https://api.github.com/repos/quarkstudio/rails_admin/commits/8afc20d5e47fd3b0075b9e97c0e7cc495989bbec"},{"sha":"c4ab2fe85e9432113e8eeffafe73e12d0323e003","author":{"email":"c74922229a15ef270c054b8dd9aa59d69944d701@gmail.com","name":"Mitsuhiro Shibuya"},"message":"Merge pull request #2411 from johanneskrtek/johanneskrtek-alert-dismissible\n\nAdd missing .alert-dismissible class to flash","distinct":true,"url":"https://api.github.com/repos/quarkstudio/rails_admin/commits/c4ab2fe85e9432113e8eeffafe73e12d0323e003"},{"sha":"974b572f13cdf994bdf5aa196553dba492ef1f9e","author":{"email":"c74922229a15ef270c054b8dd9aa59d69944d701@gmail.com","name":"Mitsuhiro Shibuya"},"message":"Merge pull request #2412 from meghaarora42/fix-multiselect-issue\n\nChange multiselect cache structure","distinct":true,"url":"https://api.github.com/repos/quarkstudio/rails_admin/commits/974b572f13cdf994bdf5aa196553dba492ef1f9e"},{"sha":"8a49aa513f95c503aaa26fa485fbd8c9776d8720","author":{"email":"b8aabb4b95c817d9df69b6be95b2b94d6b1efe17@quarkstudio.fr","name":"Romain Lalaut"},"message":"Merge remote-tracking branch 'upstream/master' into searchable-associations","distinct":true,"url":"https://api.github.com/repos/quarkstudio/rails_admin/commits/8a49aa513f95c503aaa26fa485fbd8c9776d8720"}]}