annotate poster/s62/slides.state.js @ 3:1b34d9710a84

add poster
author ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
date Mon, 15 Feb 2021 10:51:57 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 class S6_Plugin_State {
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 constructor( deck, options ) {
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 console.log( "[S6.Plugin.State] ctor");
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 const updateState = (method, ev) => {
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 console.log( "[S6.Plugin.State] updateState method="+method );
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 const attr = ev.slide.getAttribute( 'data-bespoke-state' );
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 if( attr )
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 attr.split(' ').forEach( state => deck.parent.classList[method](state) );
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 };
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 deck.on( 'activate', ev => updateState( 'add', ev ));
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 deck.on( 'deactivate', ev => updateState( 'remove', ev ));
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 }
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 } // class S6_Plugin_State
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 //////////////////////////////
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 // add global S6 "export"
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 // e.g. lets you call state( options ) for plugins array config
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 var S6 = S6 || {};
1b34d9710a84 add poster
ikkun <ikkun@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 S6.state = options => deck => new S6_Plugin_State( deck, options );