Skip to content
This repository was archived by the owner on Nov 11, 2022. It is now read-only.

Commit fae051c

Browse files
committed
provided a global configuration value
1 parent e270dfb commit fae051c

File tree

7 files changed

+40
-27
lines changed

7 files changed

+40
-27
lines changed

demo/index.html

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<link rel="stylesheet" href="../dist/ng-inline-edit.css">
1010

1111
<script src="../bower_components/angular/angular.js"></script>
12-
<script src="../src/scripts/constants.js"></script>
12+
<script src="../src/scripts/providers.js"></script>
1313
<script src="../src/scripts/controllers.js"></script>
1414
<script src="../src/scripts/directives.js"></script>
1515
<script src="../src/scripts/module.js"></script>
@@ -24,7 +24,6 @@
2424
class="first-demo"
2525
inline-edit="demoModel"
2626
inline-edit-callback="demoChangeListener(newValue)"
27-
inline-edit-btn-edit="Edit"
2827
inline-edit-btn-save="Save"
2928
inline-edit-on-blur="save"
3029
inline-edit-validation="demoValidator(newValue)"></span>

gulpfile.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ gulp.task('sass', function() {
6565

6666
gulp.task('concat', function() {
6767
return gulp.src([
68-
SOURCE.SCRIPTS + 'constants.js',
68+
SOURCE.SCRIPTS + 'providers.js',
6969
SOURCE.SCRIPTS + 'controllers.js',
7070
SOURCE.SCRIPTS + 'directives.js',
7171
SOURCE.SCRIPTS + 'module.js'

src/scripts/constants.js

-11
This file was deleted.

src/scripts/directives.js

+18-11
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
angular
55
.module('angularInlineEdit.directives', [
6-
'angularInlineEdit.constants',
6+
'angularInlineEdit.providers',
77
'angularInlineEdit.controllers'
88
])
9-
.directive('inlineEdit', ['$compile', 'InlineEditConstants',
10-
function($compile, InlineEditConstants) {
9+
.directive('inlineEdit', ['$compile', 'InlineEditConfig', 'InlineEditConstants',
10+
function($compile, InlineEditConfig, InlineEditConstants) {
1111
return {
1212
restrict: 'A',
1313
controller: 'InlineEditController',
@@ -19,7 +19,8 @@
1919
link: function(scope, element, attrs) {
2020
scope.model = scope.$parent.$eval(attrs.inlineEdit);
2121

22-
var onBlurBehavior = attrs.inlineEditOnBlur;
22+
var onBlurBehavior = attrs.hasOwnProperty('inlineEditOnBlur') ?
23+
attrs.inlineEditOnBlur : InlineEditConfig.onBlur;
2324
if (onBlurBehavior === InlineEditConstants.CANCEL ||
2425
onBlurBehavior === InlineEditConstants.SAVE) {
2526
scope.isOnBlurBehaviorValid = true;
@@ -44,37 +45,43 @@
4445
// text
4546
innerContainer.append(angular.element(
4647
'<span class="ng-inline-edit__text" ' +
47-
(attrs.hasOwnProperty('inlineEditOnClick') ?
48+
(attrs.hasOwnProperty('inlineEditOnClick') || InlineEditConfig.editOnClick ?
4849
'ng-click="editText()" ' : '') +
4950
'ng-if="!editMode">{{model}}</span>'));
5051

5152
// edit button
52-
if (attrs.inlineEditBtnEdit) {
53+
var inlineEditBtnEdit = attrs.hasOwnProperty('inlineEditBtnEdit') ?
54+
attrs.inlineEditBtnEdit : InlineEditConfig.btnEdit;
55+
if (inlineEditBtnEdit) {
5356
innerContainer.append(angular.element(
5457
'<a class="ng-inline-edit__button ng-inline-edit__button--edit" ' +
5558
'ng-if="!editMode" ' +
5659
'ng-click="editText()">' +
57-
attrs.inlineEditBtnEdit +
60+
inlineEditBtnEdit +
5861
'</a>'));
5962
}
6063

6164
// save button
62-
if (attrs.inlineEditBtnSave) {
65+
var inlineEditBtnSave = attrs.hasOwnProperty('inlineEditBtnSave') ?
66+
attrs.inlineEditBtnSave : InlineEditConfig.btnSave;
67+
if (inlineEditBtnSave) {
6368
innerContainer.append(angular.element(
6469
'<a class="ng-inline-edit__button ng-inline-edit__button--save" ' +
6570
'ng-if="editMode && !validating" ' +
6671
'ng-click="applyText(false, false)">' +
67-
attrs.inlineEditBtnSave +
72+
inlineEditBtnSave +
6873
'</a>'));
6974
}
7075

7176
// cancel button
72-
if (attrs.inlineEditBtnCancel) {
77+
var inlineEditBtnCancel = attrs.hasOwnProperty('inlineEditBtnCancel') ?
78+
attrs.inlineEditBtnCancel : InlineEditConfig.btnCancel;
79+
if (inlineEditBtnCancel) {
7380
innerContainer.append(angular.element(
7481
'<a class="ng-inline-edit__button ng-inline-edit__button--cancel" ' +
7582
'ng-if="editMode && !validating" ' +
7683
'ng-click="applyText(true, false)">' +
77-
attrs.inlineEditBtnCancel +
84+
inlineEditBtnCancel +
7885
'</a>'));
7986
}
8087

src/scripts/module.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
angular
55
.module('angularInlineEdit', [
6-
'angularInlineEdit.constants',
6+
'angularInlineEdit.providers',
77
'angularInlineEdit.controllers',
88
'angularInlineEdit.directives'
99
]);

src/scripts/providers.js

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
(function(window, angular, undefined) {
2+
'use strict';
3+
4+
angular
5+
.module('angularInlineEdit.providers', [])
6+
.value('InlineEditConfig', {
7+
btnEdit: 'Edit',
8+
btnSave: '',
9+
btnCancel: '',
10+
editOnClick: false,
11+
onBlur: null
12+
})
13+
.constant('InlineEditConstants', {
14+
CANCEL: 'cancel',
15+
SAVE: 'save'
16+
});
17+
18+
})(window, window.angular);

test/karma.conf.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ module.exports = function(config) {
2020
files: [
2121
'bower_components/angular/angular.js',
2222
'bower_components/angular-mocks/angular-mocks.js',
23-
'src/scripts/constants.js',
23+
'src/scripts/providers.js',
2424
'src/scripts/controllers.js',
2525
'src/scripts/directives.js',
2626
'src/scripts/module.js',

0 commit comments

Comments
 (0)