Shortcuts.jslib 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. const library = {
  2. $shortcutsExtension: {
  3. sdk: undefined,
  4. isInitialized: false,
  5. shortcut: undefined,
  6. initialize: function () {
  7. shortcutsExtension.sdk = window['YaGamesSdk'];
  8. shortcutsExtension.shortcut = shortcutsExtension.sdk.shortcut;
  9. shortcutsExtension.isInitialized = true;
  10. },
  11. canSuggestShortcut: function(boolCallbackPtr) {
  12. if(shortcutsExtension.isInitialized === false) {
  13. shortcutsExtension.initialize();
  14. }
  15. shortcutsExtension.shortcut.canShowPrompt().then(function(prompt) {
  16. dynCall('vi', boolCallbackPtr, [+ prompt.canShow]);
  17. });
  18. },
  19. suggestShortcut: function(successCallbackPtr, errorCallbackPtr) {
  20. if(shortcutsExtension.isInitialized === false){
  21. shortcutsExtension.initialize();
  22. }
  23. shortcutsExtension.shortcut.showPrompt().then(function(result) {
  24. if (result.outcome === 'accepted') {
  25. dynCall('v', successCallbackPtr, []);
  26. return;
  27. }
  28. dynCall('v', errorCallbackPtr, []);
  29. });
  30. }
  31. },
  32. CanSuggestShortcut: function (boolCallbackPtr) {
  33. shortcutsExtension.canSuggestShortcut(boolCallbackPtr);
  34. },
  35. SuggestShortcut: function (successCallbackPtr, errorCallbackPtr) {
  36. shortcutsExtension.suggestShortcut(successCallbackPtr, errorCallbackPtr);
  37. }
  38. }
  39. autoAddDeps(library, '$shortcutsExtension');
  40. mergeInto(LibraryManager.library, library);