UNPKG

jsdk-offical

Version:

JSDK is the most comprehensive TypeScript framework, like JDK.

96 lines (95 loc) 2.29 kB
JS.imports('$jsfx').then(() => { let fn = function (e, ...args) { Assert.true(Types.isKlass(this, Carousel)); Assert.true(Types.ofKlass(e, Event)); JSLogger.info(this.id, e.type, args); }; let items = [{ src: 'wonders.jpg', caption: 'Slide 1', desc: 'The wonders of the world' }, { src: 'pyramids.png', caption: 'Slide 2', desc: 'The Pyramids of Egypt' }, { src: 'greatwall.jpg', caption: 'Slide 3', desc: 'The GreatWall of China' }, { src: 'picchu.jpg', caption: 'Slide 4', desc: 'Machu Picchu in Peru' }]; let car1 = new Carousel({ id: 'car1', width: 800, height: 400, items: items, listeners: { 'transiting': fn, 'transited': fn } }); for (let i = 0; i < 4; i++) { new Button({ id: 'goto' + (i + 1), text: 'Goto slide' + (i + 1) }).on('click', () => { car1.goto(i); }); } new Button({ id: 'btn-prev', text: 'Prev' }).on('click', () => { car1.prev(); }); new Button({ id: 'btn-next', text: 'Next' }).on('click', () => { car1.next(); }); new Button({ id: 'btn-pause', text: 'Pause' }).on('click', () => { car1.pause(); }); new Button({ id: 'btn-continue', text: 'Continue' }).on('click', () => { car1.cycle(); }); let car2 = new Carousel({ id: 'car2', width: 800, height: 400, listeners: { 'transiting': fn, 'transited': fn } }); new Button({ id: 'btn-add', text: 'Add' }).on('click', () => { let item = Jsons.clone(items[0]); item.caption = 'Slide ' + (car2.length() + 1); car2.add(item); }); new Button({ id: 'btn-remove', text: 'Remove' }).on('click', () => { car2.remove(car2.length() - 1); }); new Button({ id: 'btn-clear', text: 'Clear' }).on('click', () => { car2.clear(); }); });