diff --git a/submodules/devices/devices.js b/submodules/devices/devices.js index c25fc59..5d00def 100644 --- a/submodules/devices/devices.js +++ b/submodules/devices/devices.js @@ -34,8 +34,6 @@ define(function(require){ template.find('.devices-rows').append(templateDevice); }); - template.find('.switch').bootstrapSwitch(); - self.devicesBindEvents(template, parent, dataTemplate); parent @@ -77,11 +75,11 @@ define(function(require){ } }); - template.find('.switch').on('change', function() { + template.find('.switch-state').on('change', function() { var toggle = $(this), row = toggle.parents('.grid-row'), deviceId = row.data('id'), - enable = toggle.bootstrapSwitch('status'); + enable = toggle.prop('checked'); self.devicesGetDevice(deviceId, function(dataDevice) { dataDevice.enabled = enable; @@ -109,11 +107,11 @@ define(function(require){ //We could display a success message but that could spam the user so for now we don't display anything }, function() { - toggle.bootstrapSwitch('toggleState'); + toggle.prop('checked', !enable); }); }, function() { - toggle.bootstrapSwitch('toggleState'); + toggle.prop('checked', !enable); }); }); @@ -249,7 +247,6 @@ define(function(require){ monster.ui.protectField(templateDevice.find('#sip_password'), templateDevice); templateDevice.find('[data-toggle="tooltip"]').tooltip(); - templateDevice.find('.switch').bootstrapSwitch(); templateDevice.find('#mac_address').mask("hh:hh:hh:hh:hh:hh", {placeholder:" "}); if(!(data.media.encryption.enforce_security)) { @@ -311,7 +308,7 @@ define(function(require){ } }); - templateDevice.find('.restriction-list .switch').on('switch-change', function() { + templateDevice.find('.restrictions-switch').on('change', function() { templateDevice.find('.restriction-matcher-sign').hide(); templateDevice.find('.restriction-message').hide(); }); @@ -334,7 +331,7 @@ define(function(require){ matchedMsg = templateDevice.find('.restriction-message'); templateDevice.find('.restriction-matcher-sign').hide(); - if(matchedLine.find('.switch').bootstrapSwitch('status')) { + if(matchedLine.find('.restrictions-switch').prop('checked')) { matchedSign.removeClass('icon-red icon-remove') .addClass('icon-green icon-ok') .css('display', 'inline-block'); diff --git a/submodules/groups/groups.js b/submodules/groups/groups.js index 7c05ee5..1690d0b 100644 --- a/submodules/groups/groups.js +++ b/submodules/groups/groups.js @@ -472,7 +472,7 @@ define(function(require){ } : {}) ), featureTemplate = $(monster.template(self, 'groups-feature-call_recording', templateData)), - switchFeature = featureTemplate.find('.switch').bootstrapSwitch(), + switchFeature = featureTemplate.find('.switch-state'), featureForm = featureTemplate.find('#call_recording_form'), popup; @@ -488,14 +488,14 @@ define(function(require){ popup.dialog('close').remove(); }); - switchFeature.on('switch-change', function(e, data) { - data.value ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); + switchFeature.on('change', function() { + $(this).prop('checked') ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); }); featureTemplate.find('.save').on('click', function() { if(monster.ui.valid(featureForm)) { var formData = monster.ui.getFormData('call_recording_form'), - enabled = switchFeature.bootstrapSwitch('status'); + enabled = switchFeature.prop('checked'); if(!('smartpbx' in data.group)) { data.group.smartpbx = {}; } if(!('call_recording' in data.group.smartpbx)) { @@ -559,7 +559,7 @@ define(function(require){ media: ringGroupNode.data.ringback || '' }, featureTemplate = $(monster.template(self, 'groups-feature-ringback', templateData)), - switchFeature = featureTemplate.find('.switch').bootstrapSwitch(), + switchFeature = featureTemplate.find('.switch-state'), popup, closeUploadDiv = function(newMedia) { mediaToUpload = undefined; @@ -596,8 +596,8 @@ define(function(require){ popup.dialog('close').remove(); }); - switchFeature.on('switch-change', function(e, data) { - data.value ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); + switchFeature.on('change', function() { + $(this).prop('checked') ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); }); featureTemplate.find('.upload-toggle').on('click', function() { @@ -658,7 +658,7 @@ define(function(require){ featureTemplate.find('.save').on('click', function() { var selectedMedia = featureTemplate.find('.media-dropdown option:selected').val(), - enabled = switchFeature.bootstrapSwitch('status'); + enabled = switchFeature.prop('checked'); if(!('smartpbx' in data.group)) { data.group.smartpbx = {}; @@ -717,20 +717,20 @@ define(function(require){ var templateData = $.extend(true, {selectedEntity: selectedEntity}, data), featureTemplate = $(monster.template(self, 'groups-feature-next_action', templateData)), - switchFeature = featureTemplate.find('.switch').bootstrapSwitch(), + switchFeature = featureTemplate.find('.switch-state'), popup; featureTemplate.find('.cancel-link').on('click', function() { popup.dialog('close').remove(); }); - switchFeature.on('switch-change', function(e, data) { - data.value ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); + switchFeature.on('change', function() { + $(this).prop('checked') ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); }); featureTemplate.find('.save').on('click', function() { var selectedOption = featureTemplate.find('.next-action-select option:selected'), - enabled = switchFeature.bootstrapSwitch('status'); + enabled = switchFeature.prop('checked'); if(!('smartpbx' in data.group)) { data.group.smartpbx = {}; } if(!('next_action' in data.group.smartpbx)) { diff --git a/submodules/users/users.css b/submodules/users/users.css index bdfccfa..01acd04 100644 --- a/submodules/users/users.css +++ b/submodules/users/users.css @@ -640,6 +640,7 @@ } .feature-popup-container .switch { + display: inline-block; margin-left: 15px; } diff --git a/submodules/users/users.js b/submodules/users/users.js index 1d1e9b5..3274203 100644 --- a/submodules/users/users.js +++ b/submodules/users/users.js @@ -1514,7 +1514,7 @@ define(function(require){ var self = this, data = self.usersFormatConferencingData(data), featureTemplate = $(monster.template(self, 'users-feature-conferencing', data)), - switchFeature = featureTemplate.find('.switch').bootstrapSwitch(), + switchFeature = featureTemplate.find('.switch-state'), featureForm = featureTemplate.find('#conferencing_form'); monster.ui.validate(featureForm); @@ -1523,8 +1523,8 @@ define(function(require){ popup.dialog('close').remove(); }); - switchFeature.on('switch-change', function(e, data) { - data.value ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); + switchFeature.on('change', function() { + $(this).prop('checked') ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); }); featureTemplate.find('.save').on('click', function() { @@ -1538,7 +1538,7 @@ define(function(require){ if(monster.ui.valid(featureForm)) { data.conference = monster.ui.getFormData('conferencing_form'); - if(switchFeature.bootstrapSwitch('status')) { + if(switchFeature.prop('checked')) { self.usersUpdateConferencing(data, function(data) { args.userId = data.user.id; @@ -1569,7 +1569,7 @@ define(function(require){ var self = this, data = self.usersFormatFaxingData(data), featureTemplate = $(monster.template(self, 'users-feature-faxing', data)), - switchFeature = featureTemplate.find('.switch').bootstrapSwitch(); + switchFeature = featureTemplate.find('.switch-state'); if ( !_.isEmpty(data.extra.listNumbers) ) { var popup = monster.ui.dialog(featureTemplate, { @@ -1584,8 +1584,8 @@ define(function(require){ popup.dialog('close').remove(); }); - switchFeature.on('switch-change', function(e, data) { - data.value ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); + switchFeature.on('change', function() { + $(this).prop('checked') ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); }); featureTemplate.find('.save').on('click', function() { @@ -1597,7 +1597,7 @@ define(function(require){ } }; - if ( switchFeature.bootstrapSwitch('status') ) { + if ( switchFeature.prop('checked') ) { self.usersUpdateFaxing(data, newNumber, function(results) { args.userId = results.callflow.owner_id; @@ -1616,7 +1616,7 @@ define(function(require){ usersRenderHotdesk: function(currentUser) { var self = this, featureTemplate = $(monster.template(self, 'users-feature-hotdesk', currentUser)), - switchFeature = featureTemplate.find('.switch').bootstrapSwitch(), + switchFeature = featureTemplate.find('.switch-state'), requirePin = featureTemplate.find('[name="require_pin"]'), featureForm = featureTemplate.find('#hotdesk_form'); @@ -1626,8 +1626,8 @@ define(function(require){ popup.dialog('close').remove(); }); - switchFeature.on('switch-change', function(e, data) { - data.value ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); + switchFeature.on('change', function() { + $(this).prop('checked') ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); }); requirePin.on('change', function() { @@ -1653,7 +1653,7 @@ define(function(require){ } }; - formData.enabled = switchFeature.bootstrapSwitch('status'); + formData.enabled = switchFeature.prop('checked'); if(formData.require_pin === false) { delete formData.pin; } delete currentUser.hotdesk; @@ -1677,7 +1677,7 @@ define(function(require){ usersRenderVMToEmail: function(currentUser) { var self = this, featureTemplate = $(monster.template(self, 'users-feature-vm_to_email', currentUser)), - switchFeature = featureTemplate.find('.switch').bootstrapSwitch(), + switchFeature = featureTemplate.find('.switch-state'), featureForm = featureTemplate.find('#vm_to_email_form'); monster.ui.validate(featureForm); @@ -1686,14 +1686,14 @@ define(function(require){ popup.dialog('close').remove(); }); - switchFeature.on('switch-change', function(e, data) { - data.value ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); + switchFeature.on('change', function() { + $(this).prop('checked') ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); }); featureTemplate.find('.save').on('click', function() { var formData = monster.ui.getFormData('vm_to_email_form'), userToSave = $.extend(true, {}, currentUser), - enabled = switchFeature.bootstrapSwitch('status'), + enabled = switchFeature.prop('checked'), args = { callback: function() { popup.dialog('close').remove(); @@ -1763,18 +1763,18 @@ define(function(require){ usersRenderCallerId: function(currentUser) { var self = this, featureTemplate = $(monster.template(self, 'users-feature-caller_id', currentUser)), - switchFeature = featureTemplate.find('.switch').bootstrapSwitch(); + switchFeature = featureTemplate.find('.switch-state'); featureTemplate.find('.cancel-link').on('click', function() { popup.dialog('close').remove(); }); - switchFeature.on('switch-change', function(e, data) { - data.value ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); + switchFeature.on('change', function() { + $(this).prop('checked') ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); }); featureTemplate.find('.save').on('click', function() { - var switchCallerId = featureTemplate.find('.switch'), + var switchCallerId = featureTemplate.find('.switch-state'), userData = currentUser, userToSave = $.extend(true, {}, { caller_id: { @@ -1788,16 +1788,16 @@ define(function(require){ } }; - if(switchCallerId.bootstrapSwitch('status') === false) { - if(userToSave.caller_id.hasOwnProperty('external')) { - delete userToSave.caller_id.external.number; - } - } - else { + if (switchCallerId.prop('checked')) { var callerIdValue = featureTemplate.find('.caller-id-select').val(); userToSave.caller_id.external.number = callerIdValue; } + else { + if(userToSave.caller_id.hasOwnProperty('external')) { + delete userToSave.caller_id.external.number; + } + } self.usersUpdateUser(userToSave, function(data) { args.userId = data.data.id; @@ -1820,7 +1820,7 @@ define(function(require){ usersRenderCallForward: function(currentUser) { var self = this, featureTemplate = $(monster.template(self, 'users-feature-call_forward', currentUser)), - switchFeature = featureTemplate.find('.switch').bootstrapSwitch(), + switchFeature = featureTemplate.find('.switch-state'), featureForm = featureTemplate.find('#call_forward_form'), args = { callback: function() { @@ -1844,8 +1844,8 @@ define(function(require){ popup.dialog('close').remove(); }); - switchFeature.on('switch-change', function(e, data) { - data.value ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); + switchFeature.on('change', function() { + $(this).prop('checked') ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); }); featureTemplate.find('.save').on('click', function() { @@ -1853,7 +1853,7 @@ define(function(require){ var formData = monster.ui.getFormData('call_forward_form'); formData.require_keypress = !formData.require_keypress; - formData.enabled = switchFeature.bootstrapSwitch('status'); + formData.enabled = switchFeature.prop('checked'); formData.number = monster.util.unformatPhoneNumber(formData.number, 'keepPlus'); delete formData.phoneType; @@ -1896,7 +1896,7 @@ define(function(require){ var currentUser = params.currentUser, userCallflow = params.userCallflow, featureTemplate = $(monster.template(self, 'users-feature-find_me_follow_me', { currentUser: currentUser })), - switchFeature = featureTemplate.find('.switch').bootstrapSwitch(), + switchFeature = featureTemplate.find('.switch-state'), featureForm = featureTemplate.find('#find_me_follow_me_form'), args = { callback: function() { @@ -1947,12 +1947,12 @@ define(function(require){ popup.dialog('close').remove(); }); - switchFeature.on('switch-change', function(e, data) { - data.value ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); + switchFeature.on('change', function() { + $(this).prop('checked') ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); }); featureTemplate.find('.save').on('click', function() { - var enabled = switchFeature.bootstrapSwitch('status'); + var enabled = switchFeature.prop('checked'); monster.pub('common.ringingDurationControl.getEndpoints', { container: featureForm, @@ -2106,7 +2106,7 @@ define(function(require){ } : {}) ), featureTemplate = $(monster.template(self, 'users-feature-call_recording', templateData)), - switchFeature = featureTemplate.find('.switch').bootstrapSwitch(), + switchFeature = featureTemplate.find('.switch-state'), featureForm = featureTemplate.find('#call_recording_form'), popup; @@ -2122,14 +2122,14 @@ define(function(require){ popup.dialog('close').remove(); }); - switchFeature.on('switch-change', function(e, data) { - data.value ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); + switchFeature.on('change', function() { + $(this).prop('checked') ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); }); featureTemplate.find('.save').on('click', function() { if(monster.ui.valid(featureForm)) { var formData = monster.ui.getFormData('call_recording_form'), - enabled = switchFeature.bootstrapSwitch('status'); + enabled = switchFeature.prop('checked'); if(!('smartpbx' in params.currentUser)) { params.currentUser.smartpbx = {}; } if(!('call_recording' in params.currentUser.smartpbx)) { @@ -2213,7 +2213,7 @@ define(function(require){ media: 'music_on_hold' in currentUser && 'media_id' in currentUser.music_on_hold ? currentUser.music_on_hold.media_id : silenceMediaId }, featureTemplate = $(monster.template(self, 'users-feature-music_on_hold', templateData)), - switchFeature = featureTemplate.find('.switch').bootstrapSwitch(), + switchFeature = featureTemplate.find('.switch-state'), popup, closeUploadDiv = function(newMedia) { mediaToUpload = undefined; @@ -2250,8 +2250,8 @@ define(function(require){ popup.dialog('close').remove(); }); - switchFeature.on('switch-change', function(e, data) { - data.value ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); + switchFeature.on('change', function() { + $(this).prop('checked') ? featureTemplate.find('.content').slideDown() : featureTemplate.find('.content').slideUp(); }); featureTemplate.find('.upload-toggle').on('click', function() { @@ -2312,7 +2312,7 @@ define(function(require){ featureTemplate.find('.save').on('click', function() { var selectedMedia = featureTemplate.find('.media-dropdown option:selected').val(), - enabled = switchFeature.bootstrapSwitch('status'); + enabled = switchFeature.prop('checked'); if(!('music_on_hold' in currentUser)) { currentUser.music_on_hold = {}; diff --git a/submodules/vmboxes/vmboxes.js b/submodules/vmboxes/vmboxes.js index b72ddf5..326a03a 100644 --- a/submodules/vmboxes/vmboxes.js +++ b/submodules/vmboxes/vmboxes.js @@ -127,7 +127,7 @@ define(function(require){ }); }, - vmboxesEditBindEvents: function(templatVMBox, data, callbacks) { + vmboxesEditBindEvents: function(templateVMBox, data, callbacks) { var self = this, vmboxForm = templateVMBox.find('#form_vmbox'); @@ -145,7 +145,6 @@ define(function(require){ templateVMBox.find('#timezone').chosen({search_contains: true, width: "40%"}); templateVMBox.find('[data-toggle="tooltip"]').tooltip(); - templateVMBox.find('.switch').bootstrapSwitch(); templateVMBox.find('.actions .save').on('click', function() { if(monster.ui.valid(vmboxForm)) { diff --git a/views/devices-ata.html b/views/devices-ata.html index 1e1f736..163a0a4 100644 --- a/views/devices-ata.html +++ b/views/devices-ata.html @@ -93,8 +93,10 @@ {{/if}}