kaui 3.0.1 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/app/assets/config/kaui_manifest.js +2 -44
  4. data/app/assets/javascripts/application.js +12 -0
  5. data/app/assets/javascripts/kaui/kaui.js +7 -452
  6. data/app/assets/javascripts/kaui/kaui_override.js +441 -0
  7. data/app/assets/stylesheets/application.css +23 -0
  8. data/app/assets/stylesheets/kaui/account.css +34 -0
  9. data/app/assets/stylesheets/kaui/audit.css +19 -0
  10. data/app/assets/stylesheets/kaui/common.css +550 -0
  11. data/app/assets/stylesheets/kaui/datatable.css +71 -0
  12. data/app/assets/stylesheets/kaui/header.css +129 -0
  13. data/app/assets/stylesheets/kaui/home.css +72 -0
  14. data/app/assets/stylesheets/kaui/invoice.css +37 -0
  15. data/app/assets/stylesheets/kaui/kaui.css +152 -0
  16. data/app/assets/stylesheets/kaui/overdue.css +7 -0
  17. data/app/assets/stylesheets/kaui/payment.css +28 -0
  18. data/app/assets/stylesheets/kaui/subscription.css +15 -0
  19. data/app/assets/stylesheets/kaui/tags.css +137 -0
  20. data/app/assets/stylesheets/kaui/timeline.css +5 -0
  21. data/app/assets/stylesheets/kaui/tooltip.css +16 -0
  22. data/app/controllers/kaui/account_tags_controller.rb +1 -1
  23. data/app/controllers/kaui/admin_allowed_users_controller.rb +1 -1
  24. data/app/controllers/kaui/admin_tenants_controller.rb +3 -3
  25. data/app/controllers/kaui/bundle_tags_controller.rb +1 -1
  26. data/app/controllers/kaui/engine_controller_util.rb +1 -1
  27. data/app/controllers/kaui/home_controller.rb +21 -12
  28. data/app/controllers/kaui/invoice_tags_controller.rb +1 -1
  29. data/app/controllers/kaui/invoices_controller.rb +6 -1
  30. data/app/controllers/kaui/payment_methods_controller.rb +1 -1
  31. data/app/controllers/kaui/subscriptions_controller.rb +9 -8
  32. data/app/controllers/kaui/transactions_controller.rb +1 -1
  33. data/app/helpers/kaui/object_helper.rb +16 -1
  34. data/app/models/kaui/admin_tenant.rb +1 -1
  35. data/app/models/kaui/catalog.rb +2 -2
  36. data/app/models/kaui/invoice_payment.rb +1 -1
  37. data/app/models/kaui/overdue.rb +2 -2
  38. data/app/models/kaui/tag.rb +2 -2
  39. data/app/models/kaui/tag_definition.rb +1 -1
  40. data/app/views/kaui/accounts/_billing_info.html.erb +2 -4
  41. data/app/views/kaui/accounts/_form.html.erb +3 -3
  42. data/app/views/kaui/accounts/index.html.erb +0 -1
  43. data/app/views/kaui/admin_tenants/new_overdue_config.html.erb +5 -5
  44. data/app/views/kaui/home/_advanced_search_modal.html.erb +22 -1
  45. data/app/views/kaui/invoices/show.html.erb +2 -1
  46. data/app/views/kaui/layouts/kaui_header.html.erb +2 -18
  47. data/app/views/kaui/refunds/_form.html.erb +50 -2
  48. data/app/views/kaui/subscriptions/_cancel_by_date_modal.html.erb +1 -1
  49. data/app/views/kaui/subscriptions/_edit_form.html.erb +1 -1
  50. data/app/views/kaui/subscriptions/_form.html.erb +1 -1
  51. data/app/views/kaui/subscriptions/edit_bcd.erb +1 -1
  52. data/app/views/kaui/tag_definitions/_form.html.erb +1 -2
  53. data/config/routes.rb +1 -0
  54. data/lib/kaui/engine.rb +1 -4
  55. data/lib/kaui/version.rb +1 -1
  56. data/lib/kaui.rb +10 -10
  57. metadata +29 -130
  58. data/app/assets/javascripts/jquery.spin.js +0 -76
  59. data/app/assets/javascripts/kaui_application.js +0 -25
  60. data/app/assets/javascripts/spin.js +0 -76
  61. data/app/assets/stylesheets/bootstrap_and_overrides.scss +0 -240
  62. data/app/assets/stylesheets/kaui/account.scss +0 -52
  63. data/app/assets/stylesheets/kaui/audit.scss +0 -42
  64. data/app/assets/stylesheets/kaui/common.scss +0 -765
  65. data/app/assets/stylesheets/kaui/datatable.scss +0 -115
  66. data/app/assets/stylesheets/kaui/header.scss +0 -197
  67. data/app/assets/stylesheets/kaui/home.scss +0 -89
  68. data/app/assets/stylesheets/kaui/invoice.scss +0 -58
  69. data/app/assets/stylesheets/kaui/kaui.scss +0 -265
  70. data/app/assets/stylesheets/kaui/kaui_bootstrap.scss +0 -3
  71. data/app/assets/stylesheets/kaui/overdue.scss +0 -11
  72. data/app/assets/stylesheets/kaui/payment.scss +0 -43
  73. data/app/assets/stylesheets/kaui/subscription.scss +0 -27
  74. data/app/assets/stylesheets/kaui/tags.scss +0 -208
  75. data/app/assets/stylesheets/kaui/timeline.scss +0 -7
  76. data/app/assets/stylesheets/kaui/tooltip.scss +0 -15
  77. data/app/assets/stylesheets/kaui_application.css +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1c270a67aa73b6b9195aae2e4578519dde9bdefab0bdb4fdd1f7a59a8137fb7a
4
- data.tar.gz: 48791ecdfe32bbb730a447e8e994ab127acabd36fc356bedb023f8e67dc174ef
3
+ metadata.gz: 95dc79de55c417e61d67883ec040660bb28923268cc479b3fa0d027689bd007f
4
+ data.tar.gz: 722db58817b35d95ae08be67a131b85b1706868d73d0182bfa267a7007ea5eb2
5
5
  SHA512:
6
- metadata.gz: 13e7dc0a95b7a6bd39f3996a50fd32c7216b4eb7e2507b386a5bbe6cd959358e631a6520bafb6bf83f4573b730904bb9058a3475c851c7e3540ecd31e0280987
7
- data.tar.gz: 402e25c2418833089ab69307de78deaa64597d76e0d40c07daa37dd15d050ba9b3b35e6e9a1485447faf07ee458e364de0d2c7dac02172bbb3c7bdf853e584b4
6
+ metadata.gz: '091113972ba008f89462c312ea46f05f0510ed64dff52ecd5522af6eff02f8c61aeaea8cf92d89a405d6a893dfc1ee12f86268f895b3b77107a08722ba185f08'
7
+ data.tar.gz: bb5a5b1901b527d519503ca1a406afc86ac44025e51303ba6ab24403515c3ce61f2c2337d863db238418fbada9057243346be53c3e69547160ceaf0337b6c074
data/README.md CHANGED
@@ -12,7 +12,8 @@ Kill Bill compatibility
12
12
  | 0.15.y | 0.18.z (Rails 4) |
13
13
  | 0.16.y | 0.18.z (Rails 5) |
14
14
  | 1.x.y | 0.20.z (Rails 5) |
15
- | 2.x.y | 0.22.z (Rails 5) |
15
+ | 2.1.y | 0.22.z (Rails 5) |
16
+ | 2.2.y | 0.24.z (Rails 6) |
16
17
  | 3.x.y | 0.24.z (Rails 7) |
17
18
 
18
19
  Dependencies
@@ -1,45 +1,3 @@
1
-
2
- //= link jquery.js
3
- //= link jquery-ui.js
4
- //= link popper.js
5
- //= require spin
6
- //= require jquery.spin
7
- //= link spin.js
8
- //= link jquery.spin.js
9
- //= link bootstrap-sprockets.js
10
- //= link bootstrap-datepicker.js
11
- //= link_tree ../images/kaui
1
+ //= link_tree ../images
12
2
  //= link_directory ../javascripts .js
13
- //= link mustache.js
14
- //= link bootstrap-datepicker3.css
15
- //= link jquery-ui/widgets/autocomplete.js
16
- //= link dataTables/jquery.dataTables.js
17
- //= link dataTables/bootstrap/3/jquery.dataTables.bootstrap.js
18
- //= link dataTables/extras/dataTables.colVis.js
19
- //= link d3.js
20
- //= link dataTables/jquery.dataTables.css
21
- //= link jquery-ui/autocomplete.css
22
- //= link dataTables/bootstrap/3/jquery.dataTables.bootstrap.css
23
- //= link bootstrap_and_overrides.scss
24
- //= link kaui/kaui.scss
25
- //= link kaui_application.css
26
-
27
- // Kanaui
28
- //= require js-routes
29
- //= require spin
30
- //= require jquery.spin
31
- //= link spin.js
32
- //= link jquery.spin.js
33
- // KPM
34
- // kpm/kpm.js
35
-
36
- // payment_test
37
- // payment_test/payment_test.js
38
-
39
- // Deposit
40
- // deposit/deposit.js
41
- //
42
- // Kaui (needs to be loaded last for overrides)
43
- //= link kaui/kaui.js
44
- //
45
-
3
+ //= link_directory ../stylesheets .css
@@ -0,0 +1,12 @@
1
+ // This is a manifest file that'll be compiled into including all the files listed below.
2
+ // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
3
+ // be included in the compiled file accessible from http://example.com/assets/application.js
4
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
5
+ // the compiled file.
6
+ //
7
+ //= require assets/common
8
+ //= require js-routes
9
+ //= require jquery-ui/widgets/autocomplete
10
+ //= require mustache
11
+ //= require popper
12
+ //= require kaui/kaui
@@ -1,452 +1,7 @@
1
- jQuery(document).ready(function ($) {
2
-
3
- /*
4
- * Mobile Data Adjustment
5
- */
6
-
7
- var running = false;
8
- $('table.mobile-data').each(function () {
9
- var count = $(this).find($('table.mobile-data tr')).length - 1;
10
- $(this).append('<span class="left"><i class="fa fa-arrow-circle-left"></i></span>');
11
- $(this).append('<span class="right"><i class="fa fa-arrow-circle-right"></i></span>');
12
- $(this).append('<span class="center"><span class="current">1</span>/' + count + '</span>');
13
- });
14
- $('table.mobile-data > span.left').click(function () {
15
-
16
- if (running === true)
17
- return;
18
-
19
- running = true;
20
-
21
- var table = $(this).parent('table').children('tbody'),
22
- current = table.find('tr:first-of-type'),
23
- next = table.find('tr:last-of-type'),
24
- page = table.children('span.center').children('span.current'),
25
- number = parseInt(page.html()),
26
- count = table.find($('table.mobile-data tr')).length - 1;
27
-
28
- next.insertBefore(current);
29
- number--;
30
- if (number <= 0) {
31
- number = count;
32
- }
33
- page.html(number);
34
-
35
- fixCellHeight(table);
36
-
37
- running = false;
38
-
39
- });
40
- $('table.mobile-data > span.right').click(function () {
41
-
42
- if (running === true)
43
- return;
44
-
45
- running = true;
46
-
47
- var table = $(this).parent('table').children('tbody'),
48
- current = table.find('tr:first-of-type'),
49
- last = table.find('tr:last-of-type'),
50
- page = table.children('span.center').children('span.current'),
51
- number = parseInt(page.html()),
52
- count = table.find($('table.mobile-data tr')).length - 1;
53
-
54
- current.insertAfter(last);
55
- number++;
56
- if (number > count) {
57
- number = 1;
58
- }
59
- page.html(number);
60
-
61
- fixCellHeight(table);
62
-
63
- running = false;
64
-
65
- });
66
-
67
- function fixCellHeight(table) {
68
-
69
- table.find('tr:first-of-type').children('th').each(function (i) {
70
- i++;
71
- var brother = table.find('tr:nth-of-type(2)').children('td:nth-of-type(' + i + ')');
72
-
73
- if ($(this).height() > brother.height()) {
74
- brother.css('height', $(this).outerHeight() + 'px');
75
- } else {
76
- $(this).css('height', brother.outerHeight() + 'px');
77
- }
78
-
79
- });
80
-
81
- }
82
-
83
- if ($(window).width() <= 768) {
84
- $('table.mobile-data').each(function () {
85
- fixCellHeight($(this));
86
- });
87
- }
88
-
89
-
90
- /*
91
- * Toggler activation
92
- */
93
- $('.toggler .first-line').click( function(e){
94
- if (! ($(e.target).is('a') || $(e.target).parent().is('a'))) {
95
- e.preventDefault();
96
- $(this).parent('.toggler').toggleClass('toggled');
97
- }
98
- });
99
-
100
- /*
101
- * Toggle between combobox (US only) and text when entering the state.
102
- */
103
- $('#account_country').on('change', function(e){
104
- toggle_state_input_type($('#account_country').val());
105
- });
106
-
107
- function toggle_state_input_type(state){
108
- if (state == 'US'){
109
- $('.text-state').hide().attr('name','hide');
110
- $('.select-state').show().attr('name','account[state]');
111
- }else{
112
- $('.select-state').hide().attr('name','hide');
113
- $('.text-state').show().attr('name','account[state]');
114
- }
115
- }
116
-
117
- toggle_state_input_type($('#account_country').val());
118
-
119
- /*
120
- * Calculate first name length
121
- */
122
-
123
- $('#account_name').on('keyup', function(e){
124
- set_first_name_length($(this).val());
125
- });
126
-
127
- $('#account_name').on('change', function(e){
128
- if ($('#account_first_name_length').empty() ){
129
- set_first_name_length($(this).val());
130
- }
131
- });
132
-
133
- function set_first_name_length(name){
134
- var name_in_parts = name.trim().split(' ');
135
-
136
- if (name_in_parts.length > 1){
137
- $('#account_first_name_length').val(name_in_parts[0].length);
138
- }else{
139
- $('#account_first_name_length').val('');
140
- }
141
- }
142
-
143
-
144
- /*
145
- * Custom Fields Errors
146
- */
147
-
148
-
149
- $('#custom_field_object_type').change(function(){
150
-
151
- ajaxCloseAlert();
152
-
153
- var uuid = document.getElementById("custom_field_object_id").value;
154
- var my_url = '/custom_fields/check_object_exist';
155
- obj_type = document.getElementById("custom_field_object_type").value;
156
-
157
- if (uuid){
158
- $.ajax({
159
- url: my_url,
160
- type: "GET",
161
- dataType: "json",
162
- data: {
163
- uuid: uuid,
164
- object_type: obj_type
165
- },
166
- success: function(data) {
167
- if (data.status == 431) {
168
- var msg = data["message"];
169
- ajaxErrorAlert(msg);
170
-
171
- }
172
- }
173
- });
174
- }else{
175
- var msg = 'Object ID cannot be empty';
176
- ajaxErrorAlert(msg);
177
- }
178
-
179
-
180
-
181
-
182
-
183
-
184
- });
185
-
186
- $('#custom_field_object_id').on('keyup', function(e) {
187
-
188
- ajaxCloseAlert();
189
-
190
- var uuid = $(this).val();
191
- var my_url = '/custom_fields/check_object_exist';
192
- obj_type = document.getElementById("custom_field_object_type").value;
193
-
194
- $.ajax({
195
- url: my_url,
196
- type: "GET",
197
- dataType: "json",
198
- data: {
199
- uuid: $(this).val(),
200
- object_type: obj_type
201
- },
202
- success: function(data) {
203
- if (data.status == 431) {
204
- var msg = data["message"];
205
- ajaxErrorAlert(msg);
206
- }
207
- }
208
- });
209
-
210
-
211
- });
212
-
213
-
214
- /*
215
- * Validate external key
216
- */
217
- const VALIDATE_EXTERNAL_KEY = {
218
- account: { url: Routes.kaui_engine_accounts_validate_external_key_path(), invalid_msg_class_name: '.account_external_key_invalid_msg' },
219
- payment_method: {url: Routes.kaui_engine_payment_methods_validate_external_key_path(), invalid_msg_class_name: '.payment_method_external_key_invalid_msg'},
220
- bundle: {url: Routes.kaui_engine_subscriptions_validate_bundle_external_key_path(), invalid_msg_class_name: '.subscription_bundle_external_key_invalid_msg'},
221
- subscription: {url: Routes.kaui_engine_subscriptions_validate_external_key_path(), invalid_msg_class_name: '.subscription_external_key_invalid_msg'}
222
- }
223
-
224
- validate_external_key($('#account_external_key').val(),'account');
225
- $('#account_external_key').on('change', function(e){
226
- validate_external_key($(this).val(),'account');
227
- });
228
-
229
- validate_external_key($('#payment_method_external_key').val(),'payment_method');
230
- $('#payment_method_external_key').on('change', function(e){
231
- validate_external_key($(this).val(),'payment_method');
232
- });
233
-
234
- validate_external_key($('#bundle_external_key').val(),'bundle');
235
- $('#bundle_external_key').on('change', function(e){
236
- validate_external_key($(this).val(),'bundle');
237
- });
238
-
239
- validate_external_key($('#subscription_external_key').val(),'subscription');
240
- $('#subscription_external_key').on('change', function(e){
241
- validate_external_key($(this).val(),'subscription');
242
- });
243
-
244
- function validate_external_key(external_key, key_for){
245
- if (external_key == undefined || external_key == null || external_key.trim().length == 0){
246
- $(VALIDATE_EXTERNAL_KEY[key_for].invalid_msg_class_name).hide();
247
- }else {
248
- $.ajax(
249
- {
250
- url: VALIDATE_EXTERNAL_KEY[key_for].url,
251
- type: "GET",
252
- dataType: "json",
253
- data: {external_key: external_key},
254
- success: function (data) {
255
- if (data.is_found) {
256
- $(VALIDATE_EXTERNAL_KEY[key_for].invalid_msg_class_name).show();
257
- } else {
258
- $(VALIDATE_EXTERNAL_KEY[key_for].invalid_msg_class_name).hide();
259
- }
260
- }
261
- });
262
- }
263
- }
264
-
265
- // Restrict numeric input for a text field
266
- // Using "constraint validation API" to restrict input
267
- $("input[type=number]").keydown(function(event) {
268
- $(this).data('oldData', $(this).val());
269
- }).keyup(function(event) {
270
- if (event.currentTarget.validity.badInput) {
271
- $(this).val($(this).data('oldData'));
272
- }
273
- });
274
-
275
- // this will register a global ajax error for all jquery ajax requests (not including DataTable)
276
- $( document ).ajaxError(function( event, jqxhr, settings, thrownError ) {
277
- if (jqxhr.status == 0) {
278
- return;
279
- }
280
-
281
- var message = 'Request error: ' + getMessageFromResponse(jqxhr);
282
-
283
- if (jqxhr.status == 200) {
284
- message = thrownError.message == undefined ? thrownError : thrownError.message;
285
- }
286
- ajaxErrorAlert(message);
287
- });
288
-
289
- function getMessageFromResponse(jqxhr) {
290
- if (isBlank(jqxhr.responseJSON)) {
291
- return jqxhr.responseText;
292
- }
293
-
294
- if (!isBlank(jqxhr.responseJSON.error)) {
295
- return jqxhr.responseJSON.error;
296
- }
297
-
298
- return jqxhr.responseText;
299
- }
300
-
301
- // this will prevent DataTable to show an alert message box when an error occurs
302
- $.fn.dataTable.ext.errMode = 'none';
303
- // this will try to register a DataTable error event to all tables, and if an error occurs will display the error on screen
304
- $( document ).find(".table").on('error.dt', function ( e, settings, techNote, message ) {
305
- ajaxErrorAlert('An error has been reported by DataTables: ' + message);
306
- });
307
-
308
- setObjectIdPopover();
309
- });
310
-
311
-
312
- // global function used to show an error message that occurs on a Ajax call, if timeout is passed the box will disappear when the time is up.
313
- function ajaxErrorAlert(message, timeout) {
314
- ajaxAlert("ajaxErrorAlert", message, timeout);
315
- }
316
-
317
- // global function used to show an information message.
318
- function ajaxInfoAlert(message, timeout) {
319
- ajaxAlert("ajaxInfoAlert", message, timeout);
320
- }
321
-
322
- // if timeout is passed the box will disappear when the time is up.
323
- function ajaxAlert(alert_element_id, message, timeout) {
324
- // do not show ajax alert if there is already an server alert
325
- var serverAlertStatus = $(".server-alert").css("display");
326
- if (serverAlertStatus != undefined && serverAlertStatus != "none") {
327
- return;
328
- }
329
-
330
- var messageBox = $("#" + alert_element_id);
331
- messageBox.find("#" + alert_element_id + "Message").text(message);
332
- messageBox.show();
333
- messageBox.find("button").click(function(){
334
- ajaxCloseAlert(messageBox);
335
- });
336
-
337
- //if timeout is passed the box will disappear when the time is up
338
- if (!isBlank(timeout)) {
339
- setTimeout(function(){ ajaxCloseAlert()}, timeout);
340
- }
341
- }
342
-
343
- function ajaxCloseAlert(messageBox) {
344
- var messageBox = messageBox || $(".ajaxAlert");
345
- messageBox.find(".ajaxAlertMessage").text('');
346
- messageBox.hide();
347
- }
348
-
349
- // global helper function to validate if a variable is null or empty or undefined
350
- function isNullOrUndefined(value) {
351
- if (value == undefined || value == null) {
352
- return true;
353
- }
354
- return false;
355
- }
356
-
357
- function isBlank(value) {
358
- if (isNullOrUndefined(value)) {
359
- return true;
360
- }
361
-
362
- if (jQuery.type(value) === "string" && value.trim().length == 0) {
363
- return true;
364
- } else if (jQuery.type(value) === "array" && value.length == 0) {
365
- return true;
366
- } else if (jQuery.type(value) === "object" && jQuery.isEmptyObject(value)) {
367
- return true;
368
- } else {
369
- return false;
370
- }
371
- }
372
-
373
- // this function set popover for all tags that have class object-id-popover
374
- // attributes:
375
- // data-id = content of the popover,object id; required
376
- // title = title of the popover; not required
377
- // id = (must be {{id}}-popover) used to close popover when the copy image is clicked; if present; if not present a timeout of 5s will apply; not required
378
- function setObjectIdPopover(){
379
- $(".object-id-popover").each(function(idx, e){
380
- $(this).popover('destroy');
381
- $(this).off("shown.bs.popover");
382
- $(this).data("index", idx);
383
-
384
- $(this).popover({
385
- html: true,
386
- content: function() {
387
- var template = '<div class="{{id}}-content" >' +
388
- '{{id}}&emsp;<i id="{{id}}-copy" class="fa fa-clipboard copy-icon" aria-hidden="true"></i> ' +
389
- '<input id="{{id}}-placeholder" class="form-control hidden"> ' +
390
- '</div>';
391
-
392
- var popover_html = Mustache.render( template , { id: $(this).data("id") });
393
- return popover_html;
394
- },
395
- container: 'body',
396
- trigger: 'hover',
397
- delay: { "show": 100, "hide": 4000 }
398
- });
399
-
400
- $(this).on("show.bs.popover", function(e) {
401
- var currentPopoverIndex = $(this).data('index');
402
- $(".object-id-popover").each(function(idx, e){
403
- var index = $(this).data('index');
404
-
405
- if (currentPopoverIndex != index) {
406
- $(this).popover('hide');
407
- }
408
- });
409
- });
410
-
411
- $(this).on("shown.bs.popover", function(e) {
412
- var objectId = $(this).data('id');
413
- var copyIdImg = $("#" + objectId + "-copy");
414
-
415
- copyIdImg.data("popover",$(this).attr("id"));
416
- copyIdImg.click(function(e){
417
- var id = ($(this).attr("id")).replace('-copy','');
418
- var placeholder = $("#" + objectId + "-placeholder");
419
- var popover = $("#" + copyIdImg.data("popover"));
420
- placeholder.val(id);
421
- placeholder.removeClass("hidden");
422
- placeholder.select();
423
-
424
- document.execCommand("Copy");
425
- placeholder.addClass("hidden");
426
- ajaxInfoAlert("Id [" + id + "] was copied into the clipboard!", 4000);
427
-
428
- if (!isBlank(popover)) {
429
- popover.popover('hide');
430
- }
431
-
432
- });
433
-
434
- });
435
-
436
- });
437
-
438
- // close all object id popover on modal show
439
- $(".modal").on('show.bs.modal',function(e){
440
- $(".object-id-popover").each(function(idx, e) {
441
- $(this).popover('destroy');
442
- });
443
- });
444
-
445
- // check if object id must be restored
446
- $(".modal").on('hide.bs.modal',function(e){
447
- setObjectIdPopover();
448
- });
449
- }
450
-
451
-
452
-
1
+ // This is a manifest file that'll be compiled into including all the files listed below.
2
+ // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
3
+ // be included in the compiled file accessible from http://example.com/assets/application.js
4
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
5
+ // the compiled file.
6
+ //
7
+ //= require_tree .