@bennerinformatics/ember-fw-table 2.0.21 → 2.1.0

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 (106) hide show
  1. package/README.md +6 -0
  2. package/addon/classes/Row.js +19 -13
  3. package/addon/classes/Table.js +18 -13
  4. package/addon/components/fw-cell-action.js +9 -5
  5. package/addon/components/fw-cell-boolean.js +4 -3
  6. package/addon/components/fw-cell-nullable.js +5 -2
  7. package/addon/components/fw-cell-permission-icon.js +19 -3
  8. package/addon/components/fw-column-sortable.js +12 -4
  9. package/addon/components/fw-column-title.js +12 -4
  10. package/addon/components/fw-delete-modal.js +30 -11
  11. package/addon/components/fw-expandable-row.js +5 -0
  12. package/addon/components/fw-pagination-wrapper.js +81 -162
  13. package/addon/components/fw-row-toggle-index.js +4 -4
  14. package/addon/components/fw-row-toggle.js +12 -5
  15. package/addon/components/fw-table-expanded-row.js +5 -6
  16. package/addon/components/fw-table-expanded-rows.js +8 -4
  17. package/addon/components/fw-table-resort.js +29 -16
  18. package/addon/components/fw-table-sortable.js +40 -24
  19. package/addon/documentation.js +26 -61
  20. package/addon/templates/components/fw-delete-modal.hbs +1 -1
  21. package/addon/utils/base-cells.js +40 -5
  22. package/addon/utils/export.js +3 -1
  23. package/addon/utils/formats.js +54 -7
  24. package/addon/utils/table.js +2 -1
  25. package/index.js +2 -1
  26. package/package.json +5 -7
  27. package/yuidoc-ember-theme/LICENSE +21 -0
  28. package/yuidoc-ember-theme/README.md +88 -0
  29. package/yuidoc-ember-theme/assets/css/custom.css +82 -0
  30. package/yuidoc-ember-theme/assets/css/external-small.png +0 -0
  31. package/yuidoc-ember-theme/assets/css/main.css +793 -0
  32. package/yuidoc-ember-theme/assets/css/theme.css +547 -0
  33. package/yuidoc-ember-theme/assets/icons/android-icon-144x144.png +0 -0
  34. package/yuidoc-ember-theme/assets/icons/android-icon-192x192.png +0 -0
  35. package/yuidoc-ember-theme/assets/icons/android-icon-36x36.png +0 -0
  36. package/yuidoc-ember-theme/assets/icons/android-icon-48x48.png +0 -0
  37. package/yuidoc-ember-theme/assets/icons/android-icon-72x72.png +0 -0
  38. package/yuidoc-ember-theme/assets/icons/android-icon-96x96.png +0 -0
  39. package/yuidoc-ember-theme/assets/icons/apple-icon-114x114.png +0 -0
  40. package/yuidoc-ember-theme/assets/icons/apple-icon-120x120.png +0 -0
  41. package/yuidoc-ember-theme/assets/icons/apple-icon-144x144.png +0 -0
  42. package/yuidoc-ember-theme/assets/icons/apple-icon-152x152.png +0 -0
  43. package/yuidoc-ember-theme/assets/icons/apple-icon-180x180.png +0 -0
  44. package/yuidoc-ember-theme/assets/icons/apple-icon-57x57.png +0 -0
  45. package/yuidoc-ember-theme/assets/icons/apple-icon-60x60.png +0 -0
  46. package/yuidoc-ember-theme/assets/icons/apple-icon-72x72.png +0 -0
  47. package/yuidoc-ember-theme/assets/icons/apple-icon-76x76.png +0 -0
  48. package/yuidoc-ember-theme/assets/icons/apple-icon-precomposed.png +0 -0
  49. package/yuidoc-ember-theme/assets/icons/apple-icon.png +0 -0
  50. package/yuidoc-ember-theme/assets/icons/browserconfig.xml +2 -0
  51. package/yuidoc-ember-theme/assets/icons/favicon-16x16.png +0 -0
  52. package/yuidoc-ember-theme/assets/icons/favicon-32x32.png +0 -0
  53. package/yuidoc-ember-theme/assets/icons/favicon-96x96.png +0 -0
  54. package/yuidoc-ember-theme/assets/icons/favicon.ico +0 -0
  55. package/yuidoc-ember-theme/assets/icons/manifest.json +41 -0
  56. package/yuidoc-ember-theme/assets/icons/ms-icon-144x144.png +0 -0
  57. package/yuidoc-ember-theme/assets/icons/ms-icon-150x150.png +0 -0
  58. package/yuidoc-ember-theme/assets/icons/ms-icon-310x310.png +0 -0
  59. package/yuidoc-ember-theme/assets/icons/ms-icon-70x70.png +0 -0
  60. package/yuidoc-ember-theme/assets/img/ember-logo.png +0 -0
  61. package/yuidoc-ember-theme/assets/img/fw-logo.png +0 -0
  62. package/yuidoc-ember-theme/assets/img/spinner.gif +0 -0
  63. package/yuidoc-ember-theme/assets/index.html +10 -0
  64. package/yuidoc-ember-theme/assets/js/yuidoc-bootstrap.js +274 -0
  65. package/yuidoc-ember-theme/assets/vendor/bootstrap/css/bootstrap.css +6760 -0
  66. package/yuidoc-ember-theme/assets/vendor/bootstrap/css/bootstrap.min.css +6 -0
  67. package/yuidoc-ember-theme/assets/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  68. package/yuidoc-ember-theme/assets/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
  69. package/yuidoc-ember-theme/assets/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  70. package/yuidoc-ember-theme/assets/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  71. package/yuidoc-ember-theme/assets/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  72. package/yuidoc-ember-theme/assets/vendor/bootstrap/img/glyphicons-halflings-white.png +0 -0
  73. package/yuidoc-ember-theme/assets/vendor/bootstrap/img/glyphicons-halflings.png +0 -0
  74. package/yuidoc-ember-theme/assets/vendor/bootstrap/js/bootstrap.js +2363 -0
  75. package/yuidoc-ember-theme/assets/vendor/bootstrap/js/bootstrap.min.js +7 -0
  76. package/yuidoc-ember-theme/assets/vendor/font-awesome/css/font-awesome.css +2199 -0
  77. package/yuidoc-ember-theme/assets/vendor/font-awesome/css/font-awesome.min.css +4 -0
  78. package/yuidoc-ember-theme/assets/vendor/font-awesome/fonts/FontAwesome.otf +0 -0
  79. package/yuidoc-ember-theme/assets/vendor/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  80. package/yuidoc-ember-theme/assets/vendor/font-awesome/fonts/fontawesome-webfont.svg +685 -0
  81. package/yuidoc-ember-theme/assets/vendor/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  82. package/yuidoc-ember-theme/assets/vendor/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  83. package/yuidoc-ember-theme/assets/vendor/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  84. package/yuidoc-ember-theme/assets/vendor/github-slugger/slugger.js +59 -0
  85. package/yuidoc-ember-theme/assets/vendor/jquery/jquery.min.js +6 -0
  86. package/yuidoc-ember-theme/assets/vendor/jquery-ui/jquery-ui.min.js +6 -0
  87. package/yuidoc-ember-theme/assets/vendor/prettify/prettify-min.css +1 -0
  88. package/yuidoc-ember-theme/assets/vendor/prettify/prettify-min.js +1 -0
  89. package/yuidoc-ember-theme/helpers/helpers.js +236 -0
  90. package/yuidoc-ember-theme/layouts/main.handlebars +111 -0
  91. package/yuidoc-ember-theme/layouts/xhr.handlebars +7 -0
  92. package/yuidoc-ember-theme/package.json +15 -0
  93. package/yuidoc-ember-theme/partials/attrs.handlebars +144 -0
  94. package/yuidoc-ember-theme/partials/classes.handlebars +229 -0
  95. package/yuidoc-ember-theme/partials/events.handlebars +140 -0
  96. package/yuidoc-ember-theme/partials/files.handlebars +9 -0
  97. package/yuidoc-ember-theme/partials/index.handlebars +25 -0
  98. package/yuidoc-ember-theme/partials/method.handlebars +193 -0
  99. package/yuidoc-ember-theme/partials/module.handlebars +108 -0
  100. package/yuidoc-ember-theme/partials/options.handlebars +22 -0
  101. package/yuidoc-ember-theme/partials/props.handlebars +122 -0
  102. package/yuidoc-ember-theme/partials/sidebar.handlebars +77 -0
  103. package/yuidoc-ember-theme/theme.json +4 -0
  104. package/yuidoc-ember-theme/yarn.lock +4 -0
  105. package/yuidoc.json +4 -2
  106. /package/{bitbucket-helpers-override.js → yuidoc-ember-theme/helpers/bitbucket-helpers-override.js} +0 -0
@@ -0,0 +1,236 @@
1
+ var PROJECT;
2
+
3
+ module.exports = {
4
+ log: function() {
5
+ var slicedArgs = Array.prototype.slice.call(arguments, 0, arguments.length - 1);
6
+ console.log.apply(console, slicedArgs);
7
+ },
8
+
9
+ setupGlobals: function() {
10
+ PROJECT = this;
11
+ return '';
12
+ },
13
+
14
+ setupClass: function() {
15
+ var classes = this.classes;
16
+
17
+ for(var i = 0; i < classes.length; i++) {
18
+ if(classes[i].name === this.name) {
19
+ this.isPrivate = !isPublic(classes[i]);
20
+ break;
21
+ }
22
+ }
23
+ },
24
+
25
+ setupModule: function() {
26
+ var self = this;
27
+ var moduleClasses = [];
28
+
29
+ this.classes.forEach(function(c) {
30
+ if(c.module === self.name) {
31
+ moduleClasses.push(c);
32
+ }
33
+ });
34
+
35
+ this.filteredModuleClasses = moduleClasses;
36
+ },
37
+
38
+ isPrivate: function(context, options) {
39
+ return isPublic(context) ? options.inverse(this) : options.fn(this);
40
+ },
41
+
42
+ publicClasses: function(context, options) {
43
+ 'use strict';
44
+ var ret = "";
45
+
46
+ for (var i = 0; i < context.length; i++) {
47
+ if (isPublic(context[i])) {
48
+ ret = ret + options.fn(context[i]);
49
+ }
50
+ }
51
+
52
+ return ret;
53
+ },
54
+
55
+ /**
56
+ * Hack for:
57
+ * https://github.com/yui/yuidoc/issues/198
58
+ *
59
+ * Usage:
60
+ * {{#crossLinkWrapper type}}{{#crossLink type}}{{/crossLink}}{{/crossLinkWrapper}}
61
+ */
62
+ crossLinkWrapper: function(context, options) {
63
+ if (!context) return '';
64
+ var types_raw = context.split('|');
65
+ var types_linked = options.fn(this).split('|');
66
+
67
+ return types_raw.map(function(type, i) {
68
+ if (/\[\]/.test(type)) {
69
+ if (/<\/a>/.test(types_linked[i])) {
70
+ return types_linked[i].replace('</a>', '[]</a>');
71
+ } else {
72
+ return types_linked[i].trim() + '[]';
73
+ }
74
+ } else {
75
+ return types_linked[i];
76
+ }
77
+ }).join(' | ');
78
+ },
79
+
80
+ notEmpty: function(context, options) {
81
+ 'use strict';
82
+
83
+ if(context && Array.isArray(context)) {
84
+ return context.length > 0 ? options.fn(this) : options.inverse(this);
85
+ } else {
86
+ return (!context || !String(context).replace(/\s/g, '')) ? options.inverse(this) : options.fn(this);
87
+ }
88
+ },
89
+
90
+ hasStaticMethods: function(context, options) {
91
+ 'use strict';
92
+ var hasStatic = false;
93
+ if (!context) return '';
94
+ for (var i = 0; i < context.length; i++) {
95
+ if (context[i]['static']) {
96
+ hasStatic = true;
97
+ break;
98
+ }
99
+ }
100
+ if (hasStatic) {
101
+ return options.fn(this);
102
+ }
103
+ return '';
104
+ },
105
+
106
+ hasInstanceMethods: function(context, options) {
107
+ 'use strict';
108
+ var hasInstance = false;
109
+ if (!context) return '';
110
+ for (var i = 0; i < context.length; i++) {
111
+ if (!context[i]['static']) {
112
+ hasInstance = true;
113
+ break;
114
+ }
115
+ }
116
+ if (hasInstance) {
117
+ return options.fn(this);
118
+ }
119
+ return '';
120
+ },
121
+
122
+ search: function(classes, modules) {
123
+ 'use strict';
124
+ var ret = '';
125
+
126
+ for (var i = 0; i < classes.length; i++) {
127
+ if (i > 0) {
128
+ ret += ', ';
129
+ }
130
+ ret += "\"" + 'classes/' + classes[i].displayName + "\"";
131
+ }
132
+
133
+ if (ret.length > 0 && modules.length > 0) {
134
+ ret += ', ';
135
+ }
136
+
137
+ for (var j = 0; j < modules.length; j++) {
138
+ if (j > 0) {
139
+ ret += ', ';
140
+ }
141
+ ret += "\"" + 'modules/' + modules[j].displayName + "\"";
142
+ }
143
+
144
+ return ret;
145
+ },
146
+
147
+ or: function(a, b, options) {
148
+ if(a || b) {
149
+ return options.fn(this);
150
+ }
151
+ return '';
152
+ },
153
+
154
+ eq: function(v1, v2, options) {
155
+ if(v1 == v2) {
156
+ return options.fn(this);
157
+ } else {
158
+ return options.inverse(this);
159
+ }
160
+ },
161
+
162
+ deEmberifiedName: function() {
163
+ var name = this.projectName || '';
164
+
165
+ var delimiter = name.indexOf('-') > -1 ? '-' : ' ';
166
+ var segments = name.split(delimiter);
167
+
168
+ if(segments[0].toLowerCase() === 'ember') {
169
+ name = segments.slice(1, segments.length).join(delimiter).trim();
170
+ }
171
+
172
+ return name;
173
+ },
174
+
175
+ projectTag: function() {
176
+ return getTagFromVersion(PROJECT.projectVersion);
177
+ },
178
+
179
+ githubFoundAt: function() {
180
+ var meta = getFileMeta(this.file);
181
+ return generateGhFileUrl(meta.url, meta.version, meta.file, this.line);
182
+ },
183
+
184
+ fileName: function() {
185
+ var meta = getExternalFileMeta(this.file);
186
+ return meta ? this.file.replace(new RegExp(meta.path, 'i'), meta.name) : this.file;
187
+ },
188
+
189
+ forwardToIndexModule: function() {
190
+ return '<script type="text/javascript">' +
191
+ 'window.location.replace("modules/' + this.projectIndexModule + '.html");' +
192
+ '</script>'
193
+ }
194
+ };
195
+
196
+ function getTagFromVersion(version) {
197
+ if (version === 'master' || version.charAt(0).toLowerCase() === 'v') {
198
+ return version;
199
+ } else {
200
+ return version.split('.').pop();
201
+ }
202
+ }
203
+
204
+ function isPublic(context) {
205
+ return context.itemtype || (!context.itemtype && context.access === 'public');
206
+ }
207
+
208
+ function getFileMeta(file) {
209
+ var externalMeta = getExternalFileMeta(file)
210
+
211
+ if (externalMeta) {
212
+ return {
213
+ file: file.replace(new RegExp(externalMeta.path, 'i'), ''),
214
+ version: getTagFromVersion(externalMeta.version),
215
+ url: externalMeta.url
216
+ };
217
+ } else {
218
+ return {
219
+ file: file,
220
+ version: getTagFromVersion(PROJECT.projectVersion),
221
+ url: PROJECT.projectUrl
222
+ };
223
+ }
224
+ }
225
+
226
+ function getExternalFileMeta(file) {
227
+ var externalDocs = PROJECT.projectExternalDocs || [];
228
+
229
+ return externalDocs.find(function(externalDoc) {
230
+ return !!(file || '').match(new RegExp(externalDoc.path, 'i'));
231
+ });
232
+ }
233
+
234
+ function generateGhFileUrl(baseUrl, version, file, line) {
235
+ return baseUrl + '/blob/' + version + '/' + file + '#L' + line;
236
+ }
@@ -0,0 +1,111 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>{{htmlTitle}}</title>
6
+ <meta name="description" content="{{projectDescription}}">
7
+ <link rel="stylesheet" href="{{yuiGridsUrl}}">
8
+ <link rel="stylesheet" href="{{projectAssets}}/vendor/prettify/prettify-min.css">
9
+ <link rel="stylesheet" href="{{projectAssets}}/css/main.css" id="site_styles">
10
+ <link rel="stylesheet" href="{{projectAssets}}/css/custom.css">
11
+ <link rel="stylesheet" href="{{projectAssets}}/vendor/bootstrap/css/bootstrap.css">
12
+ <link rel="stylesheet" href="{{projectAssets}}/vendor/font-awesome/css/font-awesome.min.css">
13
+ <link rel="stylesheet" href="{{projectAssets}}/css/theme.css">
14
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700' rel='stylesheet' type='text/css'>
15
+ {{!-- <link rel="shortcut icon" type="image/png" href="{{projectAssets}}/favicon.png"> --}}
16
+ <!-- favicon information -->
17
+ <link rel="apple-touch-icon" sizes="57x57" href="/assets/icons/apple-icon-57x57.png">
18
+ <link rel="apple-touch-icon" sizes="60x60" href="/assets/icons/apple-icon-60x60.png">
19
+ <link rel="apple-touch-icon" sizes="72x72" href="/assets/icons/apple-icon-72x72.png">
20
+ <link rel="apple-touch-icon" sizes="76x76" href="/assets/icons/apple-icon-76x76.png">
21
+ <link rel="apple-touch-icon" sizes="114x114" href="/assets/icons/apple-icon-114x114.png">
22
+ <link rel="apple-touch-icon" sizes="120x120" href="/assets/icons/apple-icon-120x120.png">
23
+ <link rel="apple-touch-icon" sizes="144x144" href="/assets/icons/apple-icon-144x144.png">
24
+ <link rel="apple-touch-icon" sizes="152x152" href="/assets/icons/apple-icon-152x152.png">
25
+ <link rel="apple-touch-icon" sizes="180x180" href="/assets/icons/apple-icon-180x180.png">
26
+ <link rel="icon" type="image/png" sizes="192x192" href="/assets/icons/android-icon-192x192.png">
27
+ <link rel="icon" type="image/png" sizes="32x32" href="/assets/icons/favicon-32x32.png">
28
+ <link rel="icon" type="image/png" sizes="96x96" href="/assets/icons/favicon-96x96.png">
29
+ <link rel="icon" type="image/png" sizes="16x16" href="/assets/icons/favicon-16x16.png">
30
+ <link rel="manifest" href="/assets/icons/manifest.json">
31
+ <meta name="msapplication-TileImage" content="/assets/icons/ms-icon-144x144.png">
32
+ {{setupGlobals}}
33
+
34
+ {{#if projectPrimaryColor}}
35
+ <style>
36
+ body a {
37
+ color: {{projectPrimaryColor}};
38
+ }
39
+ body a:hover {
40
+ color: {{projectPrimaryColor}};
41
+ opacity: 0.5;
42
+ }
43
+ .navbar.navbar-default .navbar-nav> li> a:focus, .navbar.navbar-default .navbar-nav> li> a:hover {
44
+ color: {{projectPrimaryColor}};
45
+ }
46
+ .navbar.navbar-default .navbar-nav> .active> a, .navbar.navbar-default .navbar-nav> .active> a:focus, .navbar.navbar-default .navbar-nav> .active> a:hover {
47
+ color: {{projectPrimaryColor}};
48
+ }
49
+ #docs-main .page-header {
50
+ color: {{projectPrimaryColor}};
51
+ }
52
+ #docs-main .page-section .nav-tabs {
53
+ border-bottom: 1px solid {{projectPrimaryColor}};
54
+ }
55
+ #docs-main .page-section .nav-tabs> li.active a {
56
+ background: {{projectPrimaryColor}};
57
+ border: 1px solid {{projectPrimaryColor}};
58
+ }
59
+ #sidebar li.panel .panel-body ol> li.active, #sidebar li.panel .panel-body ol> li:hover {
60
+ background: #efefef;
61
+ }
62
+ </style>
63
+ {{/if}}
64
+ </head>
65
+ <body>
66
+ <nav class="navbar navbar-default">
67
+ <div class="container-fluid">
68
+ <div class="navbar-header">
69
+ <a href="{{projectRoot}}" class="navbar-brand">
70
+ {{#if projectLogo}}
71
+ <img src="{{projectLogo}}" alt="enterprise logo">
72
+ {{else}}
73
+ <img src="{{projectAssets}}/img/ember-logo.png" alt="enterprise logo">
74
+ {{/if}}
75
+ <span>{{projectName}} (API)</span>
76
+ </a>
77
+ </div>
78
+
79
+ <div class="collapse navbar-collapse" id="nav">
80
+ <ul class="nav navbar-nav navbar-right">
81
+ <li><a href="https://linformatics.bitbucket.io/docs/">Docs</a></li>
82
+ <li><a href="https://linformatics.bitbucket.io/downloads/">Downloads</a></li>
83
+ <li><a href="https://linformatics.bitbucket.io/api/">API</a></li>
84
+ <li><a href="{{projectUrl}}" class="fa fa-github github"></a></li>
85
+ </ul>
86
+ </div>
87
+ </div>
88
+ </nav>
89
+ <div id="main-wrapper" class="row">
90
+ <div id="content-wrapper">
91
+ {{>sidebar}}
92
+ <div class="content-container">
93
+ <div class="apidocs">
94
+ <div id="docs-main">
95
+ <div class="content">
96
+ {{>layout_content}}
97
+ </div>
98
+ </div>
99
+ </div>
100
+ </div>
101
+ </div>
102
+ </div>
103
+ <script src="{{projectAssets}}/vendor/prettify/prettify-min.js"></script>
104
+ <script>prettyPrint();</script>
105
+ <script src="{{projectAssets}}/vendor/jquery/jquery.min.js"></script>
106
+ <script src="{{projectAssets}}/vendor/jquery-ui/jquery-ui.min.js"></script>
107
+ <script src="{{projectAssets}}/vendor/bootstrap/js/bootstrap.js"></script>
108
+ <script src="{{projectAssets}}/vendor/github-slugger/slugger.js"></script>
109
+ <script src="{{projectAssets}}/js/yuidoc-bootstrap.js"></script>
110
+ </body>
111
+ </html>
@@ -0,0 +1,7 @@
1
+ <div id="docs-main">
2
+ <div class="content">
3
+ {{>layout_content}}
4
+ </div>
5
+ </div>
6
+
7
+ <div id="xhr-title" class="hidden">{{title}}</div>
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "yuidoc-ember-theme",
3
+ "version": "2.0.1",
4
+ "description": "YUIDoc theme for ember addons",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git://github.com/offirgolan/yuidoc-ember-theme.git"
8
+ },
9
+ "keywords": [
10
+ "yuidoc"
11
+ ],
12
+ "author": {
13
+ "name": "Offir Golan"
14
+ }
15
+ }
@@ -0,0 +1,144 @@
1
+ <div id="attr_{{name}}" class="attr item{{#if access}} {{access}}{{/if}}{{#if deprecated}} deprecated{{/if}}{{#if extended_from}} inherited{{/if}}">
2
+ <a name="config_{{name}}"></a> {{! For backwards compatibility }}
3
+ <h3 class="name anchorable-toc">
4
+ <a class="fa fa-link toc-anchor" href="#attr_{{name}}"></a>
5
+ {{name}}
6
+ </h3>
7
+ <span class="type">{{#crossLink type}}{{/crossLink}}</span>
8
+
9
+ {{#if deprecated}}
10
+ <span class="flag deprecated"{{#if deprecationMessage}} title="{{deprecationMessage}}"{{/if}}>deprecated</span>
11
+ {{/if}}
12
+
13
+ {{#if access}}
14
+ <span class="flag {{access}}">{{access}}</span>
15
+ {{/if}}
16
+
17
+ {{#if final}}
18
+ <span class="flag final">final</span>
19
+ {{/if}}
20
+
21
+ {{#if static}}
22
+ <span class="flag static">static</span>
23
+ {{/if}}
24
+
25
+ {{#if optional}}
26
+ <span class="flag optional">optional</span>
27
+ {{/if}}
28
+
29
+ {{#if required}}
30
+ <span class="flag required">required</span>
31
+ {{/if}}
32
+
33
+ {{#if readonly}}
34
+ <span class="flag readonly">readonly</span>
35
+ {{/if}}
36
+
37
+ <div class="meta">
38
+ {{#if overwritten_from}}
39
+ <p>Inherited from
40
+ <a href="{{crossLinkRaw overwritten_from/class}}#attr_{{overwritten_from/name}}">
41
+ {{overwritten_from/class}}
42
+ </a>
43
+ {{#if foundAt}}
44
+ but overwritten in
45
+ {{/if}}
46
+ {{else}}
47
+ {{#if extended_from}}
48
+ <p>Inherited from
49
+ <a href="{{crossLinkRaw extended_from}}#attr_{{name}}">{{extended_from}}</a>:
50
+ {{else}}
51
+ {{#providedBy}}
52
+ <p>Provided by the <a href="../modules/{{.}}.html">{{.}}</a> module.</p>
53
+ {{/providedBy}}
54
+ <p>
55
+ {{#if foundAt}}
56
+ Defined in
57
+ {{/if}}
58
+ {{/if}}
59
+ {{/if}}
60
+ {{#if foundAt}}
61
+ <a href="{{githubFoundAt}}">{{fileName}}:{{{line}}}</a>
62
+ {{/if}}
63
+ </p>
64
+
65
+ {{#if deprecationMessage}}
66
+ <p>Deprecated: {{deprecationMessage}}</p>
67
+ {{/if}}
68
+
69
+ {{#if since}}
70
+ <p>Available since {{since}}</p>
71
+ {{/if}}
72
+ </div>
73
+
74
+ <div class="description">
75
+ {{{attrDescription}}}
76
+ </div>
77
+
78
+ {{#if default}}
79
+ <p><strong>Default:</strong> {{default}}</p>
80
+ {{/if}}
81
+
82
+ {{#if emit}}
83
+ <div class="emits box">
84
+ <h4>Fires event <code>{{name}}Change</code></h4>
85
+
86
+ <p>
87
+ Fires when the value for the configuration attribute `{{{name}}}` is
88
+ changed. You can listen for the event using the `on` method if you
89
+ wish to be notified before the attribute's value has changed, or
90
+ using the `after` method if you wish to be notified after the
91
+ attribute's value has changed.
92
+ </p>
93
+
94
+ <div class="params">
95
+ <h4>Parameters:</h4>
96
+
97
+ <ul class="params-list">
98
+ <li class="param">
99
+ <code class="param-name">e</code>
100
+ <span class="type">{{#crossLink "EventFacade"}}{{/crossLink}}</span>
101
+
102
+ <div class="param-description">
103
+ An Event Facade object with the following
104
+ attribute-specific properties added:
105
+ </div>
106
+
107
+ <ul class="params-list">
108
+ <li class="param">
109
+ <code class="param-name">prevVal</code>
110
+ <span class="type">Any</span>
111
+ <div class="param-description">The value of the attribute, prior to it being set.</div>
112
+ </li>
113
+ <li class="param">
114
+ <code class="param-name">newVal</code>
115
+ <span class="type">Any</span>
116
+ <div class="param-description">The value the attribute is to be set to.</div>
117
+ </li>
118
+ <li class="param">
119
+ <code class="param-name">attrName</code>
120
+ <span class="type">{{#crossLink "String"}}{{/crossLink}}</span>
121
+ <div class="param-description">The name of the attribute being set.</div>
122
+ </li>
123
+ <li class="param">
124
+ <code class="param-name">subAttrName</code>
125
+ <span class="type">{{#crossLink "String"}}{{/crossLink}}</span>
126
+ <div class="param-description">If setting a property within the attribute's value, the name of the sub-attribute property being set.</div>
127
+ </li>
128
+ </ul>
129
+ </li>
130
+ </ul>
131
+ </div>
132
+ </div>
133
+ {{/if}}
134
+
135
+ {{#example}}
136
+ <div class="example">
137
+ <h4>Example:</h4>
138
+
139
+ <div class="example-content">
140
+ {{{.}}}
141
+ </div>
142
+ </div>
143
+ {{/example}}
144
+ </div>