Initial setup of mycontroller
This commit is contained in:
41
www/libs/angular-bootstrap-switch/.bower.json
Normal file
41
www/libs/angular-bootstrap-switch/.bower.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "angular-bootstrap-switch",
|
||||
"version": "0.4.1",
|
||||
"author": {
|
||||
"name": "Francesco Pontillo",
|
||||
"email": "francescopontillo@gmail.com",
|
||||
"url": "https://github.com/frapontillo"
|
||||
},
|
||||
"homepage": "https://github.com/frapontillo/angular-bootstrap-switch",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:frapontillo/angular-bootstrap-switch.git"
|
||||
},
|
||||
"licenses": [
|
||||
{
|
||||
"type": "Apache License 2.0",
|
||||
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
||||
}
|
||||
],
|
||||
"main": "./dist/angular-bootstrap-switch.js",
|
||||
"dependencies": {
|
||||
"angular": "~1.4.0",
|
||||
"jquery": ">=1.9.0",
|
||||
"bootstrap": ">=2.3.2",
|
||||
"bootstrap-switch": "3.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"angular-mocks": "~1.4.0",
|
||||
"angular-scenario": "~1.4.0"
|
||||
},
|
||||
"_release": "0.4.1",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "0.4.1",
|
||||
"commit": "b740c532955c7a1f375d25802cb99cc1d5306441"
|
||||
},
|
||||
"_source": "git://github.com/frapontillo/angular-bootstrap-switch.git",
|
||||
"_target": "~0.4.1",
|
||||
"_originalSource": "angular-bootstrap-switch",
|
||||
"_direct": true
|
||||
}
|
||||
3
www/libs/angular-bootstrap-switch/.bowerrc
Normal file
3
www/libs/angular-bootstrap-switch/.bowerrc
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"directory": "bower_components"
|
||||
}
|
||||
21
www/libs/angular-bootstrap-switch/.editorconfig
Normal file
21
www/libs/angular-bootstrap-switch/.editorconfig
Normal file
@@ -0,0 +1,21 @@
|
||||
# EditorConfig helps developers define and maintain consistent
|
||||
# coding styles between different editors and IDEs
|
||||
# editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
|
||||
[*]
|
||||
|
||||
# Change these settings to your own preference
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
# We recommend you to keep these unchanged
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
26
www/libs/angular-bootstrap-switch/.jshintrc
Normal file
26
www/libs/angular-bootstrap-switch/.jshintrc
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"node": true,
|
||||
"browser": true,
|
||||
"esnext": true,
|
||||
"bitwise": true,
|
||||
"camelcase": true,
|
||||
"curly": true,
|
||||
"eqeqeq": true,
|
||||
"immed": true,
|
||||
"indent": 2,
|
||||
"latedef": true,
|
||||
"newcap": true,
|
||||
"noarg": true,
|
||||
"quotmark": "single",
|
||||
"regexp": true,
|
||||
"undef": true,
|
||||
"unused": true,
|
||||
"strict": true,
|
||||
"trailing": true,
|
||||
"smarttabs": true,
|
||||
"globals": {
|
||||
"angular": false,
|
||||
"$": false,
|
||||
"jQuery": false
|
||||
}
|
||||
}
|
||||
12
www/libs/angular-bootstrap-switch/.npmignore
Normal file
12
www/libs/angular-bootstrap-switch/.npmignore
Normal file
@@ -0,0 +1,12 @@
|
||||
.git/
|
||||
.idea/
|
||||
.tmp/
|
||||
bower_components/
|
||||
common/
|
||||
src/
|
||||
node_modules/
|
||||
.editorconfig
|
||||
.gitattributes
|
||||
.gitignore
|
||||
.jshintrc
|
||||
.travis.yml
|
||||
16
www/libs/angular-bootstrap-switch/.travis.yml
Normal file
16
www/libs/angular-bootstrap-switch/.travis.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
language: node_js
|
||||
|
||||
node_js:
|
||||
- '0.10'
|
||||
|
||||
before_script:
|
||||
- export DISPLAY=:99.0
|
||||
- export PHANTOMJS_BIN=/usr/local/phantomjs/bin/phantomjs
|
||||
- sh -e /etc/init.d/xvfb start
|
||||
- sleep 3 # give xvfb some time to start
|
||||
- 'npm install -g bower grunt-cli'
|
||||
- 'npm install'
|
||||
- 'bower install'
|
||||
|
||||
script:
|
||||
- grunt
|
||||
252
www/libs/angular-bootstrap-switch/dist/angular-bootstrap-switch.js
vendored
Normal file
252
www/libs/angular-bootstrap-switch/dist/angular-bootstrap-switch.js
vendored
Normal file
@@ -0,0 +1,252 @@
|
||||
/**
|
||||
* angular-bootstrap-switch
|
||||
* @version v0.4.1 - 2015-06-15
|
||||
* @author Francesco Pontillo (francescopontillo@gmail.com)
|
||||
* @link https://github.com/frapontillo/angular-bootstrap-switch
|
||||
* @license Apache License 2.0(http://www.apache.org/licenses/LICENSE-2.0.html)
|
||||
**/
|
||||
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
// Source: common/module.js
|
||||
angular.module('frapontillo.bootstrap-switch', []);
|
||||
|
||||
// Source: dist/.temp/directives/bsSwitch.js
|
||||
angular.module('frapontillo.bootstrap-switch').directive('bsSwitch', [
|
||||
'$parse',
|
||||
'$timeout',
|
||||
function ($parse, $timeout) {
|
||||
return {
|
||||
restrict: 'A',
|
||||
require: 'ngModel',
|
||||
link: function link(scope, element, attrs, controller) {
|
||||
var isInit = false;
|
||||
/**
|
||||
* Return the true value for this specific checkbox.
|
||||
* @returns {Object} representing the true view value; if undefined, returns true.
|
||||
*/
|
||||
var getTrueValue = function () {
|
||||
if (attrs.type === 'radio') {
|
||||
return attrs.value || $parse(attrs.ngValue)(scope) || true;
|
||||
}
|
||||
var trueValue = $parse(attrs.ngTrueValue)(scope);
|
||||
if (angular.isUndefined(trueValue)) {
|
||||
trueValue = true;
|
||||
}
|
||||
return trueValue;
|
||||
};
|
||||
/**
|
||||
* Get a boolean value from a boolean-like string, evaluating it on the current scope.
|
||||
* @param value The input object
|
||||
* @returns {boolean} A boolean value
|
||||
*/
|
||||
var getBooleanFromString = function (value) {
|
||||
return scope.$eval(value) === true;
|
||||
};
|
||||
/**
|
||||
* Get a boolean value from a boolean-like string, defaulting to true if undefined.
|
||||
* @param value The input object
|
||||
* @returns {boolean} A boolean value
|
||||
*/
|
||||
var getBooleanFromStringDefTrue = function (value) {
|
||||
return value === true || value === 'true' || !value;
|
||||
};
|
||||
/**
|
||||
* Returns the value if it is truthy, or undefined.
|
||||
*
|
||||
* @param value The value to check.
|
||||
* @returns the original value if it is truthy, {@link undefined} otherwise.
|
||||
*/
|
||||
var getValueOrUndefined = function (value) {
|
||||
return value ? value : undefined;
|
||||
};
|
||||
/**
|
||||
* Get the value of the angular-bound attribute, given its name.
|
||||
* The returned value may or may not equal the attribute value, as it may be transformed by a function.
|
||||
*
|
||||
* @param attrName The angular-bound attribute name to get the value for
|
||||
* @returns {*} The attribute value
|
||||
*/
|
||||
var getSwitchAttrValue = function (attrName) {
|
||||
var map = {
|
||||
'switchRadioOff': getBooleanFromStringDefTrue,
|
||||
'switchActive': function (value) {
|
||||
return !getBooleanFromStringDefTrue(value);
|
||||
},
|
||||
'switchAnimate': getBooleanFromStringDefTrue,
|
||||
'switchLabel': function (value) {
|
||||
return value ? value : ' ';
|
||||
},
|
||||
'switchIcon': function (value) {
|
||||
if (value) {
|
||||
return '<span class=\'' + value + '\'></span>';
|
||||
}
|
||||
},
|
||||
'switchWrapper': function (value) {
|
||||
return value || 'wrapper';
|
||||
},
|
||||
'switchInverse': getBooleanFromString,
|
||||
'switchReadonly': getBooleanFromString
|
||||
};
|
||||
var transFn = map[attrName] || getValueOrUndefined;
|
||||
return transFn(attrs[attrName]);
|
||||
};
|
||||
/**
|
||||
* Set a bootstrapSwitch parameter according to the angular-bound attribute.
|
||||
* The parameter will be changed only if the switch has already been initialized
|
||||
* (to avoid creating it before the model is ready).
|
||||
*
|
||||
* @param element The switch to apply the parameter modification to
|
||||
* @param attr The name of the switch parameter
|
||||
* @param modelAttr The name of the angular-bound parameter
|
||||
*/
|
||||
var setSwitchParamMaybe = function (element, attr, modelAttr) {
|
||||
if (!isInit) {
|
||||
return;
|
||||
}
|
||||
var newValue = getSwitchAttrValue(modelAttr);
|
||||
element.bootstrapSwitch(attr, newValue);
|
||||
};
|
||||
var setActive = function () {
|
||||
setSwitchParamMaybe(element, 'disabled', 'switchActive');
|
||||
};
|
||||
/**
|
||||
* If the directive has not been initialized yet, do so.
|
||||
*/
|
||||
var initMaybe = function () {
|
||||
// if it's the first initialization
|
||||
if (!isInit) {
|
||||
var viewValue = controller.$modelValue === getTrueValue();
|
||||
isInit = !isInit;
|
||||
// Bootstrap the switch plugin
|
||||
element.bootstrapSwitch({
|
||||
radioAllOff: getSwitchAttrValue('switchRadioOff'),
|
||||
disabled: getSwitchAttrValue('switchActive'),
|
||||
state: viewValue,
|
||||
onText: getSwitchAttrValue('switchOnText'),
|
||||
offText: getSwitchAttrValue('switchOffText'),
|
||||
onColor: getSwitchAttrValue('switchOnColor'),
|
||||
offColor: getSwitchAttrValue('switchOffColor'),
|
||||
animate: getSwitchAttrValue('switchAnimate'),
|
||||
size: getSwitchAttrValue('switchSize'),
|
||||
labelText: attrs.switchLabel ? getSwitchAttrValue('switchLabel') : getSwitchAttrValue('switchIcon'),
|
||||
wrapperClass: getSwitchAttrValue('switchWrapper'),
|
||||
handleWidth: getSwitchAttrValue('switchHandleWidth'),
|
||||
labelWidth: getSwitchAttrValue('switchLabelWidth'),
|
||||
inverse: getSwitchAttrValue('switchInverse'),
|
||||
readonly: getSwitchAttrValue('switchReadonly')
|
||||
});
|
||||
if (attrs.type === 'radio') {
|
||||
controller.$setViewValue(controller.$modelValue);
|
||||
} else {
|
||||
controller.$setViewValue(viewValue);
|
||||
}
|
||||
}
|
||||
};
|
||||
/**
|
||||
* Listen to model changes.
|
||||
*/
|
||||
var listenToModel = function () {
|
||||
attrs.$observe('switchActive', function (newValue) {
|
||||
var active = getBooleanFromStringDefTrue(newValue);
|
||||
// if we are disabling the switch, delay the deactivation so that the toggle can be switched
|
||||
if (!active) {
|
||||
$timeout(function () {
|
||||
setActive(active);
|
||||
});
|
||||
} else {
|
||||
// if we are enabling the switch, set active right away
|
||||
setActive(active);
|
||||
}
|
||||
});
|
||||
function modelValue() {
|
||||
return controller.$modelValue;
|
||||
}
|
||||
// When the model changes
|
||||
scope.$watch(modelValue, function (newValue) {
|
||||
initMaybe();
|
||||
if (newValue !== undefined) {
|
||||
element.bootstrapSwitch('state', newValue === getTrueValue(), false);
|
||||
} else {
|
||||
element.bootstrapSwitch('toggleIndeterminate', true, false);
|
||||
}
|
||||
}, true);
|
||||
// angular attribute to switch property bindings
|
||||
var bindings = {
|
||||
'switchRadioOff': 'radioAllOff',
|
||||
'switchOnText': 'onText',
|
||||
'switchOffText': 'offText',
|
||||
'switchOnColor': 'onColor',
|
||||
'switchOffColor': 'offColor',
|
||||
'switchAnimate': 'animate',
|
||||
'switchSize': 'size',
|
||||
'switchLabel': 'labelText',
|
||||
'switchIcon': 'labelText',
|
||||
'switchWrapper': 'wrapperClass',
|
||||
'switchHandleWidth': 'handleWidth',
|
||||
'switchLabelWidth': 'labelWidth',
|
||||
'switchInverse': 'inverse',
|
||||
'switchReadonly': 'readonly'
|
||||
};
|
||||
var observeProp = function (prop, bindings) {
|
||||
return function () {
|
||||
attrs.$observe(prop, function () {
|
||||
setSwitchParamMaybe(element, bindings[prop], prop);
|
||||
});
|
||||
};
|
||||
};
|
||||
// for every angular-bound attribute, observe it and trigger the appropriate switch function
|
||||
for (var prop in bindings) {
|
||||
attrs.$observe(prop, observeProp(prop, bindings));
|
||||
}
|
||||
};
|
||||
/**
|
||||
* Listen to view changes.
|
||||
*/
|
||||
var listenToView = function () {
|
||||
if (attrs.type === 'radio') {
|
||||
// when the switch is clicked
|
||||
element.on('change.bootstrapSwitch', function (e) {
|
||||
// discard not real change events
|
||||
if (controller.$modelValue === controller.$viewValue && e.target.checked !== $(e.target).bootstrapSwitch('state')) {
|
||||
// $setViewValue --> $viewValue --> $parsers --> $modelValue
|
||||
// if the switch is indeed selected
|
||||
if (e.target.checked) {
|
||||
// set its value into the view
|
||||
controller.$setViewValue(getTrueValue());
|
||||
} else if (getTrueValue() === controller.$viewValue) {
|
||||
// otherwise if it's been deselected, delete the view value
|
||||
controller.$setViewValue(undefined);
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// When the checkbox switch is clicked, set its value into the ngModel
|
||||
element.on('switchChange.bootstrapSwitch', function (e) {
|
||||
// $setViewValue --> $viewValue --> $parsers --> $modelValue
|
||||
controller.$setViewValue(e.target.checked);
|
||||
});
|
||||
}
|
||||
};
|
||||
// Listen and respond to view changes
|
||||
listenToView();
|
||||
// Listen and respond to model changes
|
||||
listenToModel();
|
||||
// On destroy, collect ya garbage
|
||||
scope.$on('$destroy', function () {
|
||||
element.bootstrapSwitch('destroy');
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
]).directive('bsSwitch', function () {
|
||||
return {
|
||||
restrict: 'E',
|
||||
require: 'ngModel',
|
||||
template: '<input bs-switch>',
|
||||
replace: true
|
||||
};
|
||||
});
|
||||
// Source: bsSwitch.suffix
|
||||
})();
|
||||
Reference in New Issue
Block a user