summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE-common/client/app/filters
diff options
context:
space:
mode:
authorst782s <statta@research.att.com>2017-05-04 07:48:42 -0400
committerst782s <statta@research.att.com>2017-05-04 12:28:17 -0400
commitb54df0ddd0c6a0372327c5aa3668e5a6458fcd64 (patch)
treee69cfa9b314a801bd187cf0145d1d4306436229c /ecomp-portal-FE-common/client/app/filters
parent39d1e62c84041831bfc52cca73b5ed5efaf57d27 (diff)
[PORTAL-7] Rebase
This rebasing includes common libraries and common overlays projects abstraction of components Change-Id: I9a24a338665c7cd058978e8636bc412d9e2fdce8 Signed-off-by: st782s <statta@research.att.com>
Diffstat (limited to 'ecomp-portal-FE-common/client/app/filters')
-rw-r--r--ecomp-portal-FE-common/client/app/filters/elipsis/elipsis.filter.js38
-rw-r--r--ecomp-portal-FE-common/client/app/filters/elipsis/elipsis.filter.spec.js58
-rw-r--r--ecomp-portal-FE-common/client/app/filters/trusted-url/trusted-url.filter.js26
3 files changed, 122 insertions, 0 deletions
diff --git a/ecomp-portal-FE-common/client/app/filters/elipsis/elipsis.filter.js b/ecomp-portal-FE-common/client/app/filters/elipsis/elipsis.filter.js
new file mode 100644
index 00000000..310649b3
--- /dev/null
+++ b/ecomp-portal-FE-common/client/app/filters/elipsis/elipsis.filter.js
@@ -0,0 +1,38 @@
+/*-
+ * ================================================================================
+ * eCOMP Portal
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ * ================================================================================
+ */
+'use strict';
+
+angular.module('ecompApp')
+ .filter('elipsis', () => {
+ return (val, limit) => {
+ if (!val) {
+ return val;
+ }
+ limit = parseInt(limit);
+
+ if (!limit || val.length <= limit) {
+ return val;
+ }
+
+ val = val.substr(0, limit);
+
+ return val + '...';
+ }
+ });
diff --git a/ecomp-portal-FE-common/client/app/filters/elipsis/elipsis.filter.spec.js b/ecomp-portal-FE-common/client/app/filters/elipsis/elipsis.filter.spec.js
new file mode 100644
index 00000000..a9dc7836
--- /dev/null
+++ b/ecomp-portal-FE-common/client/app/filters/elipsis/elipsis.filter.spec.js
@@ -0,0 +1,58 @@
+/*-
+ * ================================================================================
+ * eCOMP Portal
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ * ================================================================================
+ */
+describe('Filter: elipsis', function () {
+ 'use strict';
+ let filter;
+
+ beforeEach(function () {
+ module('ecompApp');
+ });
+
+ beforeEach(inject((_CacheFactory_)=> {
+ _CacheFactory_.destroyAll();
+
+ }));
+
+ it('should trim the text and return it with ... when the text length is greater than the limit"', inject(function (_$filter_) {
+ filter = _$filter_;
+ // given
+ let text = `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
+ et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
+ ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
+ nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim
+ id est laborum`;
+ let limit = 50;
+
+ var result = filter('elipsis')(text, limit);
+
+ expect(result).toBe(text.substr(0, 50) + '...');
+ }));
+
+ it("should return the exact string where there's no limit", inject(function (_$filter_) {
+ filter = _$filter_;
+
+ let text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore';
+
+ let result = filter('elipsis')(text);
+
+ expect(result).toEqual(text);
+ }));
+
+});
diff --git a/ecomp-portal-FE-common/client/app/filters/trusted-url/trusted-url.filter.js b/ecomp-portal-FE-common/client/app/filters/trusted-url/trusted-url.filter.js
new file mode 100644
index 00000000..a6e70d69
--- /dev/null
+++ b/ecomp-portal-FE-common/client/app/filters/trusted-url/trusted-url.filter.js
@@ -0,0 +1,26 @@
+/*-
+ * ================================================================================
+ * eCOMP Portal
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file 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.
+ * ================================================================================
+ */
+
+angular.module('ecompApp')
+ .filter('trusted', function($sce){
+ return function(url) {
+ return $sce.trustAsResourceUrl(url);
+ };
+ });