12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- ParseToBool = (value) => {
- var boolValues = [true, "true", "True", 1, "1"];
- if ($.inArray(value, boolValues) >= 0) {
- return true;
- }
- else {
- return false;
- }
- };
- window.KeudellCoding_Blazor_AdvancedBlazorSelect2Component = {
- init: function (id, options, dotnetHelper) {
- var jsonOptions = JSON.parse(options);
- if (ParseToBool(jsonOptions.noMarkupEscape) === true) { jsonOptions.escapeMarkup = (markup) => { return markup; }; }
- jsonOptions.templateSelection = (data) => data.text;
- jsonOptions.templateResult = (data) => data.formatedResult || data.text;
- jsonOptions.ajax = {
- transport: function (params, success, failure) {
- var searchString = params.data && params.data.q ? params.data.q : "";
- var page = params.data.page || 1;
- dotnetHelper.invokeMethodAsync("Select2OnSearch", searchString, page).then(success).catch(failure);
- }
- };
- $('#' + id).select2(jsonOptions);
- $('#' + id).closest("form").on("reset", function (ev) {
- var targetJQForm = $(ev.target);
- setTimeout((function () {
- $('#' + id).trigger("change");
- }).bind(targetJQForm), 0);
- });
- },
- onChange: function (id, dotnetHelper) {
- $('#' + id).on('change.select2', function (e) {
- var valueToInvoke = Array.isArray($('#' + id).val()) ? $('#' + id).val() : [$('#' + id).val()];
- dotnetHelper.invokeMethodAsync("Select2OnChange", valueToInvoke);
- });
- },
- updateSelected: function (id, newData, triggerChange) {
- $('#' + id).val(null);
- $('#' + id).find('option').remove();
- $.each(newData, function (i, data) {
- var option = new Option(data.text, data.id, false, true);
- $('#' + id).append(option);
- });
- if (ParseToBool(triggerChange) === true) {
- $('#' + id).trigger('change');
- }
- },
- getSelectedIds: function (id) {
- return $.makeArray($('#' + id).find(':selected').map(function () { return this.value }));
- }
- }
|