1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- "use strict";
- /**
- * Licensed Materials - Property of IBM
- * IBM Cognos Products: Cognos Analytics
- * Copyright IBM Corp. 2019
- * US Government Users Restricted Rights - Use, duplication or disclosure
- * restricted by GSA ADP Schedule Contract with IBM Corp.
- */
- define(['underscore', 'bacontentnav/lib/@waca/core-client/js/core-client/utils/DateTimeUtils', 'bacontentnav/utils/GlassContextHelper', 'bi/admin/nls/StringResource', 'bi/admin/common/Uploader', 'bi/admin/common/services/CustomVisualizationService', 'bi/glass/app/ContentView', 'bi/commons/utils/Downloader', 'react', 'react-dom', 'ba-react-admin/ba-react-admin.min'], function (_, DateTimeUtils, GlassContextHelper, StringResource, Uploader, CustomVisualizationService, View, Downloader, React, ReactDOM, AdminReact) {
- 'use strict'; //NOSONAR: meant to be strict
- var CustomVisualizationsTab = View.extend({
- init: function init(options) {
- CustomVisualizationsTab.inherited('init', this, arguments);
- _.extend(this, options);
- this.$el.addClass('CustomVisualizationTabView');
- this.$el.attr('id', 'caCustomVisualizationsTab');
- if (_.isUndefined(this.customVisualizationService)) {
- var cvOptions = {
- 'glassContext': this.glassContext
- };
- this.customVisualizationService = new CustomVisualizationService(cvOptions);
- }
- },
- remove: function remove() {
- this.cleanUpReact();
- },
- cleanUpReact: function cleanUpReact() {
- if (this.$el) {
- ReactDOM.unmountComponentAtNode(this.$el.find(".customVisualsListPaneRoot")[0]);
- }
- },
- formatDate: function formatDate(dateTime) {
- var date = DateTimeUtils.formatDate(dateTime, 'short', GlassContextHelper.getLocaleTime(this.glassContext)).toString();
- var time = DateTimeUtils.formatTime(dateTime, 'short', GlassContextHelper.getLocaleTime(this.glassContext)).toString();
- return {
- date: date,
- time: time
- };
- },
- render: function render() {
- var aRoot = this.$el.append("<div><div class='customVisualsListPaneRoot'></div></div>");
- var customVisualizationListView = React.createElement(AdminReact.CustomVisualizationListView, {
- glassContext: this.glassContext,
- StringResource: StringResource,
- parent: this
- });
- ReactDOM.render(customVisualizationListView, this.$el.find('.customVisualsListPaneRoot')[0]);
- return Promise.resolve(this);
- },
- _doUpdateUploadCustomVisualization: function _doUpdateUploadCustomVisualization(_ajaxOptions) {
- var uploader = new Uploader({
- '$el': this.$el,
- 'glassContext': this.glassContext,
- 'ajax': this.customVisualizationService.updateOrUpload.bind(this.customVisualizationService),
- 'ajaxOptions': _ajaxOptions
- });
- return uploader.doUpload();
- },
- /**
- * Prepares the uploader and calls for an upload, then refreshes the list of custom visualizations
- */
- uploadCustomVisualization: function uploadCustomVisualization() {
- return this._doUpdateUploadCustomVisualization({
- 'isUpload': true
- });
- },
- updateCustomVisualization: function updateCustomVisualization(objData) {
- return this._doUpdateUploadCustomVisualization({
- 'isUpload': false,
- 'id': objData.symbolicName
- });
- },
- downloadCustomVisualization: function downloadCustomVisualization(objData) {
- var name = objData.defaultName; // var url = this.customVisualizationService.getDownloadUrl(type, name) + '/zip';
- var url = 'v1/disp/repository/sid/cm/oid/' + objData.id + '/content';
- var downloader = new Downloader({
- 'url': url,
- 'name': name,
- 'logger': this.glassContext.appController.logger
- });
- return downloader.doDownload();
- }
- });
- return CustomVisualizationsTab;
- });
|