annotate default/node_modules/shoestring/src/data/data.js @ 0:1d038bc9b3d2 default tip

Up:default
author Liny <dev@neowd.com>
date Sat, 31 May 2025 09:21:51 +0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
1 //>>excludeStart("exclude", pragmas.exclude);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
2 define([
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
3 "shoestring",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
4 "dom/is" // note this dependency is only used for a dev error
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
5 ], function(){
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
6 //>>excludeEnd("exclude");
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
7
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
8 /**
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
9 * Get data attached to the first element or set data values on all elements in the current set.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
10 *
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
11 * @param {string} name The data attribute name.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
12 * @param {any} value The value assigned to the data attribute.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
13 * @return {any|shoestring}
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
14 * @this shoestring
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
15 */
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
16 shoestring.fn.data = function( name, value ){
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
17 if( name !== undefined ){
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
18 if( value !== undefined ){
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
19 return this.each(function(){
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
20 if( !this.shoestringData ){
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
21 this.shoestringData = {};
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
22 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
23
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
24 this.shoestringData[ name ] = value;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
25 });
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
26 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
27 else {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
28 if( this[ 0 ] ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
29 if( this[ 0 ].shoestringData ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
30 return this[ 0 ].shoestringData[ name ];
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
31 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
32 //>>includeStart("development", pragmas.development);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
33 if( shoestring( this[ 0 ] ).is( "[data-" + name + "]" ) ){
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
34 shoestring.error( 'data-attr-alias' );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
35 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
36 //>>includeEnd("development");
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
37 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
38 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
39 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
40 else {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
41 return this[ 0 ] ? this[ 0 ].shoestringData || {} : undefined;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
42 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
43 };
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
44 //>>excludeStart("exclude", pragmas.exclude);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
45 });
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
46 //>>excludeEnd("exclude");