File: components/webfan/marketplace/app.js

Recommend this page to a friend!
  Classes of Till Wehowski   .Flow   components/webfan/marketplace/app.js   Download  
File: components/webfan/marketplace/app.js
Role: Example script
Content type: text/plain
Description: Example script
Class: .Flow
General purpose library of objects
Author: By
Last change: update components
Date: 7 years ago
Size: 4,859 bytes
 

Contents

Class file image Download
/* @copyright (c) Till Wehowski - All rights reserved @license (Basic/EULA) http://look-up.webfan.de/webdof-license @license (Source Code Re-Usage) http://look-up.webfan.de/bsd-license Copyright (c) 2015, Till Wehowski All rights reserved. @component https://github.com/frdl/-Flow/tree/master/components/webfan/marketplace */ (function(){ 'use strict'; frdl_webfan_flow_advertising_external_linking(new frdl.Url(frdl.__FILE__()).getHost()); /* var _TOK_ = '*[data-frdl-component$="webfan\/marketplace"]'; var __FILE__ = frdl.__FILE__(); var Url = new frdl.Url(__FILE__); var __DIR__ = Url.getScheme() + '://' + Url.getHost() + '/' + Url.getDirectory(); frdl.UI.defer(); alert('Test: ' + new frdl.Url(frdl.__FILE__()).urlMakeNew()); */ frdl.ready(function(){ angular.module('webfan.marketplace',[]) .run([function( $scope, $element ) { }]) .controller('MarketplaceCtrl', ['$scope', '$element', '$compile', '$http', function($scope, $element, $compile, $http) { var __SHOPURL__ = 'http://interface.api.webfan.de/v1/public/software/marketplace/components.json'; $scope.AppData = frdl.UI.widgetAppData(frdl.__FILE__(frdl.UI.getWidget('webfan/marketplace').config.directory), 'webfan/marketplace'); $scope.caption='Widgets'; $scope.widgets = frdl.UI.widgets; $scope.widgetsDesktop=[]; $scope.shopUrl_widgetdetail='http://shell.frdl.de/?test=component&component='; $scope.shopUrl_downloadurl='http://webfan.de/cdn/frdl/flow/components/'; $scope.DBPFX = 'frdl/WebfanDesktop/'; setTimeout(function(){ $element.find('button[ng-bind="caption"]') .trigger('click') .hide() ; },1); $scope.browseComponent = function(url,title){ $('#webfanMarketplaceDialogDIV').wd_dialogs({loadUrl : url, title : title}); }; $scope.getDesktopUser = function(url,title){ try{ $scope.LOCAL_MACHINE_CURRENT_USER = frdl.UI.o.LOCAL_MACHINE_CURRENT_USER; }catch(err){ $scope.LOCAL_MACHINE_CURRENT_USER='anonymous'; } $scope.DB = $scope.DBPFX + $scope.LOCAL_MACHINE_CURRENT_USER + '/'; $scope.DB_WIDGETSKEY = $scope.DB + 'widgets/user/'; }; $scope.saveDesktopWidgets = function(){ $scope.getDesktopUser(); localStorage.setItem($scope.DB_WIDGETSKEY, base64_encode(JSON.stringify( $scope.widgetsDesktop ))); }; $scope.loadDesktopWidgets = function(){ $scope.getDesktopUser(); try{ $scope.widgetsDesktop = JSON.parse( base64_decode(localStorage.getItem($scope.DB_WIDGETSKEY))); }catch(err){ $scope.widgetsDesktop=[]; } if('undefined'=== typeof $scope.widgetsDesktop || null === $scope.widgetsDesktop || 'undefined'=== typeof $scope.widgetsDesktop.length)$scope.widgetsDesktop=[]; }; $scope.showApp = function(){ $http.get(__SHOPURL__) .success(function(data, status, headers, config) { $scope.loadDesktopWidgets(); $scope.shop = data.result.data; $element.find('*[data-frdl-mod-marketplace]').css('display', 'inline-block'); /* $compile($element.contents())(angular.element($element).scope()); */ frdl.each($scope.shop, function(i,c){ if('undefined'===typeof $scope.shop[i].homepage)$scope.shop[i].homepage=$scope.shopUrl_widgetdetail + urlencode(c.name); if('undefined'===typeof $scope.shop[i].download)$scope.shop[i].download=$scope.shopUrl_downloadurl + c.name; }); }) .error(function(data, status, headers, config) { console.error('cannot get components from server!'); }); }; $scope.removeDesktopWidget = function(ix){ $scope.widgetsDesktop.splice(ix,1); $scope.saveDesktopWidgets(); $scope.loadDesktopWidgets(); }; $scope.addDesktopWidget = function(w){ if(true!==w.workspace){ alert('This widget ist not workspaceable, sorry!'); return; } var widget=w; widget.$$hashKey=undefined; $scope.widgetsDesktop.push(widget); $scope.saveDesktopWidgets(); $('#desktop').append('<div data-frdl-desktop-widget="widget://components/'+widget.name+'"></div>'); if(frdl.Dom.isVisible('desktop'))frdl.wd().loadDesktopWidgets(); }; }]) ; }); }());