Multi select doesn't work
Multi select doesn't work
Hi Allan,
Multi-select doesn't work for us.
We are implemented datatable as an anjular directive.
The table is mostly dynamic, and in the context of the select we pass the following parameters to the Datatable function:
{
columnDefs: [ {
orderable: false,
className: 'select-checkbox',
targets: 0
}],
select: {
style: 'os',
selector: 'td:first-child',
blurable: false
}
It seems the problem is in jquery.datatable.js in _Api.registerPlural function.
It receives in its arguments that select === false.
Thanks,
Yishay
Edited by Allan - Syntax highlighting. Details on how to highlight code using markdown can be found in this guide.
This discussion has been closed.
Answers
Could you please link to a test case showing the issue. http://live.datatables.net and JSFiddle (among others) are available to host code if you can't host the page yourself.
Here is a trivial test page that appears to show your code above working okay: http://live.datatables.net/lafezagi/1/edit .
Allan
Hi Allan,
I didn't get the automatic messages so I missed your answer.
I'm sorry, but this is an internal implementation and it's a lot of code.
Can you direct me where to look in your code in order to investigate this further so I can try and reconstruct the issue with simple example?
Currently, it seems the problem is in jquery.datatable.js in _Api.registerPlural function.
It receives in its arguments that select === false.
Thanks,
Yishay
The link I gave above is a simple example that shows the multi select working. Are you able to modify that to show the error case you are encountering?
Allan
Hi Allan,
Our solution is json based, do you have some example that I can start with, or do I need to reconstruct it from scratch?
Thanks,
Yishay
This page describes how Ajax sourced data can be used on the live site. There are also template examples which could be used as a base.
I'd be a little surprised if Ajax sourced data has an impact here - but who knows where the issue is!
Allan
Hi Allan,
I'm sorry, but I think I wrong something wrong.
We are using jquery.datatable.js version 1.10.9, could that be the problem, did the API changed since than?
Thanks,
Yishay
I don't believe so. I would recommend updating to the latest versions of the software you are using however, And if that doesn't help to resolve the issue I would need to be able to access a page showing the issue so it can be debugged. The live site, JSFiddle, CodePen or many others can be used.
Allan
Thanks for the link in the PM. Multi-row selection isn't working because it has been specifically set to single row selection by this block of code:
I can't say what file that is in since it is minified (
script.js
) but multi-row selection isn't working because it has been disabled.Allan
Hi Allan,
Sorry, someone must of change it, I changed it back to 'os' and it still doesn't work.
I tried to select two lines by clicking one and than clicking the other while pressing ctrl.
Thanks,
Yishay
You have a function:
it is that which appears to be deselecting the previously selected row. At a guess, from the comment in the function, it appears that is trying to allow Select and FixedColumns to be used together. That shouldn't be required with the latest versions of Select and FixedColumns - example.
Allan
Hi Allan,
I think this is it, I'll try updating the datatable and plugins version and see if it solves the issue.
Many thanks,
Yishay
Hi Allan,
this might sound stupid, but what is the best why to upgrade?
Is it safer to use the builder, or should we use bower?
Thanks,
Yishay
Personally I like the download builder, but if you prefer bower or NPM, then those options are available.
Allan
Hi Allan,
If you prefer it, than we prefer it too..
When trying to fully download using the builder I get:
Error: Large number of files requested - Unfortunately the downloader can't cope at the moment. Please hit back and select less libraries. This is being worked on! Sorry for the inconvenience.
The full link is:
https://datatables.net/download/builder?bs-3.3.6/jszip-2.5.0,pdfmake-0.1.18,moment-2.13.0,ed-mask-1.13.4,selectize-0.12.1,dt-1.10.12,b-1.2.1,b-colvis-1.2.1,b-flash-1.2.1,b-html5-1.2.1,b-print-1.2.1,cr-1.3.2,e-1.5.6,ef-display-1.5.6,ef-mask-1.5.6,ef-select2-1.5.6,ef-selectize-1.5.6,fc-3.2.2,fh-3.1.2,rr-1.1.2,sc-1.4.2,se-1.2.0
Thanks,
Yishay
Sorry - that's being caused by the file system limit of 255 characters in the path. I'm working on a way to address that, probably with a hash. At the moment the only way to work around it is to built two sets of files and then combine them.
Allan
Hi Allan,
How can we merge the datatable.js, datatable.css and their minified versions?
Thanks,
Yishay
Copy and paste in your text editor.
I'm working on how to address this at the moment, but I can't say how long it will take I'm afraid.
Allan
Hi Allan,
Would that be a legit merge? Aren't there any duplicate lines between the two files? Would the output of this double copy paste work?
Thanks,
Yishay
Assuming you only select different modules for the two packages that are created, then yes, it would be perfectly valid to do that (that is basically all the builder is doing itself - just pulling in the files from the various sources).
Allan
Hi Allan,
I did choose different plugins, but both zip files contains Bootstrap-3.3.6 folder, so I guess there might be some shared code between the different files.
Thanks,
Yishay
It shouldn't if you didn't include the Bootstrap "include library" option. However, i'm making good progress on fixing this and should be able to deploy the update to the site tomorrow.
Allan
Ok, I'll wait.
Thanks,
Yishay
I'm afraid its going to be tomorrow (Friday) before I deploy this now. I'm confident that it is all ready to go, but because it effects the CDN it isn't easy to correct anything that does happen to go wrong, so I'll wait for a low point in traffic to the server (tomorrow morning).
Allan
Hi allan,
any news regarding this?
Thanks,
Yishay
Yes, it is done. The download builder will no longer give the "Large number of files requested" error.
Allan
Great news !
thanks,
Yishay
Hi Allan,
I'm trying to upgrade to the new datatable version, but I get the following error, can you take a look and tell me what's wrong?
Many thanks,
yishay
i happens when I try to init the element
tElement.DataTable(tableOptions);
I can't stringify the tableOptions (I get: Uncaught TypeError: Converting circular structure to JSON) so if you need any of the init variables just tell me.
angular.js:12722 TypeError: Cannot read property 'fnInit' of undefined
at _fnFeatureHtmlPaginate (http://localhost:3000/datatables_new/version-1.10.12/datatables.js:85967:10)
at _fnAddOptionsHtml (http://localhost:3000/datatables_new/version-1.10.12/datatables.js:84764:19)
at _fnInitialise (http://localhost:3000/datatables_new/version-1.10.12/datatables.js:85790:3)
at HTMLTableElement.<anonymous> (http://localhost:3000/datatables_new/version-1.10.12/datatables.js:82450:5)
at Function.each (http://localhost:3000/bower_components/jquery/dist/jquery.js:374:23)
at jQuery.each (http://localhost:3000/bower_components/jquery/dist/jquery.js:139:17)
at jQuery.DataTable (http://localhost:3000/datatables_new/version-1.10.12/datatables.js:81980:8)
at jQuery.$.fn.DataTable (http://localhost:3000/datatables_new/version-1.10.12/datatables.js:96216:18)
at http://localhost:3000/js/components/shared/datatable/datatable.js:665:37
at http://localhost:3000/bower_components/angular/angular.js:18132:31 undefined
Hi Allan,
I hope this will you help us.
It happens because bootstrap_full_number plugin is missing.
Thanks,
Yishay
Hi Allan,
forget about the last two questions, this answered me.
Thanks,
Yishay
Thanks for posting back - good to hear you have it working now.
Allan