APIs

Show:
  1. ///<reference path="../typings/lite/app_references.d.ts" />
  2. var __extends = (this && this.__extends) || function (d, b) {
  3. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  4. function __() { this.constructor = d; }
  5. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  6. };
  7. define(['jquery', 'validator'], function ($, validator) {
  8. /**
  9. Sample View
  10. @class SampleView
  11. @constructor
  12. @return {Object} instantiated SampleView
  13. **/
  14. var SampleView = (function (_super) {
  15. __extends(SampleView, _super);
  16. function SampleView(options) {
  17. _super.call(this);
  18. }
  19. SampleView.prototype.initialize = function () {
  20. var self = this;
  21. //require(['rx', 'rxbind', 'rxtime', 'rxdom'], function (Rx, rxbind, rxtime, txdom) {
  22. require(['rxall'], function (Rx) {
  23. //self._testRx();
  24. //self._testTS();
  25. });
  26. };
  27. SampleView.prototype._testRx = function () {
  28. var self = this;
  29. // declare a function that returns foobar string
  30. BB.lib.log((function () { return "foobar"; })());
  31. var requestStream = Rx.Observable.just('https://api.github.com/users');
  32. var responceStream = requestStream.flatMap(function (requestURL) { return Rx.Observable.fromPromise($.getJSON(requestURL)); });
  33. responceStream.subscribe(function (data) {
  34. BB.lib.log(data);
  35. });
  36. var input = $('#formCampaignName');
  37. var obs = Rx.Observable.fromEvent(input, 'keyup');
  38. var clickStream = obs.buffer(function () { return obs.throttle(250); }).map(function (e) {
  39. return e;
  40. });
  41. clickStream.subscribe(function (e) {
  42. BB.lib.log(e);
  43. });
  44. var HeroShots = Rx.Observable.combineLatest(responceStream, clickStream, function (a, b) {
  45. return {
  46. a: a, b: b
  47. };
  48. });
  49. HeroShots.subscribe(function (e) {
  50. BB.lib.log(e);
  51. });
  52. return;
  53. var url = 'https://secure.digitalsignage.com:442/GoogleSheetsList/' + 'xxxx';
  54. //.interval(1000)
  55. var quakes = Rx.Observable
  56. .range(1, 5)
  57. .flatMap(function () {
  58. return Rx.DOM.Request.getJSON(url);
  59. })
  60. .flatMap(function (result) {
  61. return Rx.Observable.fromArray(result);
  62. })
  63. .map(function (quake) {
  64. return quake;
  65. });
  66. quakes.subscribe(function (res) {
  67. BB.lib.log(res.title);
  68. });
  69. var quakes = Rx.Observable
  70. .interval(2000)
  71. .flatMap(function () {
  72. return Rx.DOM.Request.getJSON('https://secure.digitalsignage.com/facebook/getPhotosOfAlbums/CAAMtJcAiZA48BAH0mzYnLpuN2eosel84ZBAYJJYLo4KcWuZChX2musiYzi2wZAfukGyRmMClWgH9h89csdRD0w5GGVgwp7ZCuoyuXsCZC0tZCJoTl8llz4AMF0BrEllshoa9KOu38ipQTIJUOzKa6rW802p7N0wYmueZCz0w3b7eItDLK4g6V27LZBtwAPGmX1gQZD/400455236822277');
  73. })
  74. .flatMap(function (result) {
  75. return Rx.Observable.fromArray(result);
  76. })
  77. .map(function (quake) {
  78. return quake;
  79. });
  80. quakes.subscribe(function (quake) {
  81. BB.lib.log(quake);
  82. });
  83. var request = Rx.DOM.Request.getJSON('https://secure.digitalsignage.com/facebook/getPhotosOfAlbums/CAAMtJcAiZA48BAH0mzYnLpuN2eosel84ZBAYJJYLo4KcWuZChX2musiYzi2wZAfukGyRmMClWgH9h89csdRD0w5GGVgwp7ZCuoyuXsCZC0tZCJoTl8llz4AMF0BrEllshoa9KOu38ipQTIJUOzKa6rW802p7N0wYmueZCz0w3b7eItDLK4g6V27LZBtwAPGmX1gQZD/400455236822277');
  84. request.subscribe(function (x) {
  85. BB.lib.log(x);
  86. }, function (err) {
  87. BB.lib.log(err);
  88. });
  89. var avg = Rx.Observable.interval(1000);
  90. avg.scan(function (prev, cur) {
  91. return { sum: prev.sum + cur, count: prev.count + 1 };
  92. }, { sum: 0, count: 0 }).map(function (o) {
  93. return o.sum / o.count;
  94. });
  95. var subscription = avg.subscribe(function (x) {
  96. console.log(x);
  97. });
  98. var counter = Rx.Observable.interval(1000);
  99. var subscription1 = counter.subscribe(function (i) {
  100. console.log(' Subscription 1:', i);
  101. });
  102. //var request = Rx.DOM.Request.ajax({
  103. // url: 'https://secure.digitalsignage.com/facebook/getPhotosOfAlbums/CAAMtJcAiZA48BAH0mzYnLpuN2eosel84ZBAYJJYLo4KcWuZChX2musiYzi2wZAfukGyRmMClWgH9h89csdRD0w5GGVgwp7ZCuoyuXsCZC0tZCJoTl8llz4AMF0BrEllshoa9KOu38ipQTIJUOzKa6rW802p7N0wYmueZCz0w3b7eItDLK4g6V27LZBtwAPGmX1gQZD/400455236822277',
  104. // crossDomain: true,
  105. // async: true
  106. //});
  107. //Rx.DOM.ready().subscribe(main);
  108. function searchWikipedia(term) {
  109. var cleanTerm = term;
  110. var url = 'https://en.wikipedia.org/w/api.php?action=opensearch&format=json&search=' + cleanTerm + '&callback=JSONPCallback';
  111. return Rx.DOM.Request.jsonpRequestCold(url);
  112. }
  113. var input = $('#googleSheetToken');
  114. // Get all distinct throttled key up events from the input
  115. var keyupObserver = Rx.DOM.fromEvent(input, 'keyup')
  116. .map(function (e) {
  117. return e.target.value; // Project the text from the input
  118. })
  119. .filter(function (text) {
  120. return text.length > 2; // Only if the text is longer than 2 characters
  121. })
  122. .throttle(750 /* Pause for 750ms */)
  123. .distinctUntilChanged(); // Only if the value has changed
  124. // Search wikipedia
  125. var searcherObserver = keyupObserver
  126. .map(function (text) {
  127. return searchWikipedia(text);
  128. })
  129. .switchLatest(); // Ensure no out of order results
  130. var subscription2 = searcherObserver.subscribe(function (data) {
  131. var res = data[1];
  132. var i, len, li;
  133. for (i = 0, len = res.length; i < len; i++) {
  134. BB.lib.log(data[1][i]);
  135. }
  136. }, function (error) {
  137. // Handle any errors
  138. var li = document.createElement('li');
  139. BB.lib.log('Error: ' + error);
  140. });
  141. };
  142. SampleView.prototype._testTS = function () {
  143. var myObj = [];
  144. myObj.push({});
  145. console.log(myObj.length);
  146. /** //////////////////////////////////////// **/
  147. var Digg = (function () {
  148. function Digg() {
  149. }
  150. return Digg;
  151. }());
  152. var myDigg = new Digg();
  153. console.log(myDigg instanceof Digg);
  154. $.ajax({
  155. url: 'https://secure.digitalsignage.com/Digg'
  156. }).done(function (data) {
  157. // casting
  158. // var Diggs = <Digg[]>data;
  159. var Diggs = data;
  160. var singleDigg = Diggs[0];
  161. console.log(typeof Digg);
  162. console.log(singleDigg.link);
  163. });
  164. /** //////////////////////////////////////// **/
  165. // factory creating new instances of passed in class via generics
  166. function genericClassFactory() {
  167. var someInstance;
  168. return new someInstance();
  169. }
  170. // factory creating new instances of specific class
  171. function classFactory() {
  172. var SettingView;
  173. return new SettingView();
  174. }
  175. /** //////////////////////////////////////// **/
  176. // arrow function jquery ready
  177. $(function () {
  178. //console.log('jquery ready');
  179. });
  180. var MyDoc = (function () {
  181. function MyDoc() {
  182. }
  183. MyDoc.prototype.createElement = function (s) {
  184. if (s === 'div') {
  185. return $('#domRoot')[0];
  186. }
  187. if (s === 'span') {
  188. return $('#fqCurrentlyServing')[0];
  189. }
  190. };
  191. return MyDoc;
  192. }());
  193. var doc = new MyDoc();
  194. doc.createElement('div');
  195. doc.createElement('span');
  196. /** //////////////////////////////////////// **/
  197. // arrow function that takes function for callback + string to number casting
  198. var myFunction = function (val, callBack) {
  199. var n = Number(val);
  200. callBack(val, n + 123);
  201. return n + 123;
  202. };
  203. myFunction('abc', function (s, n) {
  204. //console.log(s, n);
  205. });
  206. // a function that gets a callBack function and that call back function expects
  207. // an array of MyDoc instancess
  208. function getDocs(cb) {
  209. var allMyDocs;
  210. var a1 = new MyDoc();
  211. var a2 = new MyDoc();
  212. var a3 = new MyDoc();
  213. allMyDocs = [a1, a2, a3];
  214. cb(allMyDocs);
  215. }
  216. // getDocs(function (mydocs:MyDoc[]) {
  217. getDocs(function (mydocs) {
  218. console.log(mydocs.length);
  219. });
  220. /** //////////////////////////////////////// **/
  221. // enum
  222. var DebugLevel;
  223. (function (DebugLevel) {
  224. DebugLevel[DebugLevel["level1"] = 0] = "level1";
  225. DebugLevel[DebugLevel["level2"] = 1] = "level2";
  226. DebugLevel[DebugLevel["level3"] = 2] = "level3";
  227. })(DebugLevel || (DebugLevel = {}));
  228. //console.log(DebugLevel.level1);
  229. //console.log(DebugLevel.level2);
  230. //console.log(DebugLevel.level3);
  231. /** //////////////////////////////////////// **/
  232. //var s:any = comBroker.getService(this._BB.SERVICES['LAYOUT_ROUTER']);
  233. /** //////////////////////////////////////// **/
  234. var v = validator;
  235. //console.log(v.isFloat('123.12'));
  236. /** //////////////////////////////////////// **/
  237. var typeAlias1;
  238. typeAlias1 = 123;
  239. typeAlias1 = 'abc';
  240. var typeAlias2 = [];
  241. typeAlias2.push('abc');
  242. typeAlias2.push(123);
  243. typeAlias2.push(true);
  244. /** //////////////////////////////////////// **/
  245. var unionType; // string or array of strings
  246. unionType = '123';
  247. unionType = ['1', '2', '3'];
  248. /** //////////////////////////////////////// **/
  249. // type guard: as transpilrer will check typeof statements
  250. if (typeof unionType === 'number') {
  251. }
  252. /** //////////////////////////////////////// **/
  253. // sample of function that uses generics
  254. function sampleGeneric(str) {
  255. console.log(str);
  256. }
  257. sampleGeneric('123');
  258. var AController = (function () {
  259. function AController() {
  260. }
  261. return AController;
  262. }());
  263. var aController = new AController();
  264. aController.someNum = 1;
  265. // private controllers:Array <IControllers>;
  266. var controllers = [];
  267. controllers.push({
  268. arrControllers: [aController],
  269. controllerName: 'foo'
  270. });
  271. controllers[0].arrControllers[0].someNum = 123;
  272. console.log(controllers[0].arrControllers[0].someNum);
  273. var MyClass = (function () {
  274. function MyClass() {
  275. var args = [];
  276. for (var _i = 0; _i < arguments.length; _i++) {
  277. args[_i - 0] = arguments[_i];
  278. }
  279. }
  280. return MyClass;
  281. }());
  282. var sample = {
  283. someMember: MyClass
  284. };
  285. var sampleInstance = new sample.someMember('lots', 'of', 'strings!!!');
  286. };
  287. return SampleView;
  288. }(Backbone.View));
  289. return SampleView;
  290. });
  291. //# sourceMappingURL=SampleView.js.map