summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshentao999 <shentao@chinamobile.com>2019-04-02 09:49:43 +0800
committershentao999 <shentao@chinamobile.com>2019-04-02 09:49:43 +0800
commite5bdf8b209c5cc58c435c920c596f3c67f47de20 (patch)
treee8121ecc28d66334a0cc4965cb9e1cb9cfd6ad1f
parent75d35b5965542bb77c03999fed0e6663cbdd8a27 (diff)
Add translate javascript into FE-common
Change-Id: I6001019f07eb03e550906accbd85e174a883ab2d Issue-ID: PORTAL-377 Signed-off-by: shentao999 <shentao@chinamobile.com>
-rw-r--r--ecomp-portal-FE-common/client/app/filters/translate/translate.filter.js47
-rw-r--r--ecomp-portal-FE-common/client/app/services/translate/translate.service.js126
2 files changed, 173 insertions, 0 deletions
diff --git a/ecomp-portal-FE-common/client/app/filters/translate/translate.filter.js b/ecomp-portal-FE-common/client/app/filters/translate/translate.filter.js
new file mode 100644
index 00000000..dc9869d8
--- /dev/null
+++ b/ecomp-portal-FE-common/client/app/filters/translate/translate.filter.js
@@ -0,0 +1,47 @@
+/*-
+ * ============LICENSE_START==========================================
+ * ONAP Portal
+ * ===================================================================
+ * Copyright (C) 2019 CMCC, Inc. and others. All rights reserved.
+ * ===================================================================
+ *
+ * Unless otherwise specified, all software contained herein is licensed
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this software except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * ============LICENSE_END============================================
+ *
+ *
+ */
+'use strict';
+
+angular.module('ecompApp')
+.filter('T', ['$translate', function ($translate) {
+ return function (key) {
+ if (key) {
+ return $translate.instant(key);
+ }
+ }
+}]) \ No newline at end of file
diff --git a/ecomp-portal-FE-common/client/app/services/translate/translate.service.js b/ecomp-portal-FE-common/client/app/services/translate/translate.service.js
new file mode 100644
index 00000000..b91a8131
--- /dev/null
+++ b/ecomp-portal-FE-common/client/app/services/translate/translate.service.js
@@ -0,0 +1,126 @@
+/*-
+ * ============LICENSE_START==========================================
+ * ONAP Portal
+ * ===================================================================
+ * Copyright (C) 2019 CMCC, Inc. and others. All rights reserved.
+ * ===================================================================
+ *
+ * Unless otherwise specified, all software contained herein is licensed
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this software except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * ============LICENSE_END============================================
+ *
+ *
+ */
+'use strict';
+
+(function () {
+ class TranslateService {
+ constructor($q, $log, $http, conf, uuid, utilsService) {
+ this.$q = $q;
+ this.$log = $log;
+ this.$http = $http;
+ this.conf = conf;
+ this.uuid = uuid;
+ this.utilsService = utilsService;
+ }
+ getCurrentLang(loginId) {
+ let deferred = this.$q.defer();
+ this.$log.info('TranslateService::getCurrentLang');
+ let url = this.conf.api.getCurrentLang.replace(':loginId', loginId);
+ this.$log.info('TranslateMenuService::getCurrentLang url: '+url);
+ this.$http({
+ method: 'GET',
+ url: url,
+ cache: false,
+ headers: {
+ 'X-ECOMP-RequestID':this.uuid.generate()
+ }
+ }).then(res => {
+ // If response comes back as a redirected HTML page which IS NOT a success
+ if (this.utilsService.isValidJSON(res)== false) {
+ deferred.reject('functionalMenu.service::getManagedRolesMenu Failed');
+ } else {
+ this.$log.info('functionalMenu.service::getManagedRolesMenu succeeded: ');
+ deferred.resolve(res.data);
+ }
+ }).catch(status => {
+ deferred.reject(status);
+ });
+ return deferred.promise;
+ }
+ getLangList() {
+ let deferred = this.$q.defer();
+ this.$http({
+ method: 'GET',
+ url: this.conf.api.getLanguages,
+ // url: 'http://172.20.230.41:9000/ecompportal/auxapi/language',
+ cache: false,
+ headers: {
+ 'X-ECOMP-RequestID':this.uuid.generate()
+ }
+ }).then(res => {
+ // If response comes back as a redirected HTML page which IS NOT a success
+ if (this.utilsService.isValidJSON(res)== false) {
+ deferred.reject('TranslateService::getLangList Failed');
+ } else {
+ this.$log.info('TranslateService::getLangList succeeded: ');
+ deferred.resolve(res.data);
+ }
+ }).catch(status => {
+ deferred.reject(status);
+ });
+ return deferred.promise;
+ }
+ saveSelectedLang(loginId, data) {
+ let deferred = this.$q.defer();
+ this.$log.info('saveSelectedLang::saveSelectedLang: ', data);
+ let url = this.conf.api.updateLang.replace(':loginId', loginId);
+ this.$http({
+ method: 'POST',
+ url: url,
+ cache: false,
+ data: data,
+ headers: {
+ 'X-ECOMP-RequestID':this.uuid.generate()
+ }
+ }).then(res => {
+ // If response comes back as a redirected HTML page which IS NOT a success
+ if (this.utilsService.isValidJSON(res)== false) {
+ deferred.reject('saveSelectedLang::saveSelectedLang Failed');
+ } else {
+ this.$log.info('saveSelectedLang::saveSelectedLang succeeded: ');
+ deferred.resolve(res.data);
+ }
+ }).catch(errRes => {
+ deferred.reject(errRes);
+ });
+ return deferred.promise;
+ }
+ }
+ TranslateService.$inject = ['$q', '$log', '$http', 'conf','uuid4', 'utilsService'];
+ angular.module('ecompApp').service('translateService', TranslateService)
+})();