asap-feed-beta 12.0.7-dev.1 → 12.0.7-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/asap-feed-beta.metadata.json +1 -1
- package/bundles/asap-feed-beta.umd.js +8 -8
- package/bundles/asap-feed-beta.umd.js.map +1 -1
- package/bundles/asap-feed-beta.umd.min.js +1 -1
- package/bundles/asap-feed-beta.umd.min.js.map +1 -1
- package/esm2015/lib/feed-actions/feed-actions.component.js +3 -3
- package/esm2015/lib/feed-comments/feed-comments.component.js +1 -1
- package/esm2015/lib/feed-item/feed-item.component.js +1 -1
- package/esm2015/lib/feed-publication/feed-modal-item-edit/feed-modal-item-edit.component.js +1 -1
- package/esm2015/lib/feed-publication/feed-publication.component.js +1 -1
- package/esm2015/lib/feed-publication/modal-announce/modal-announce.component.js +1 -1
- package/esm2015/lib/stories/stories.component.js +1 -1
- package/esm5/lib/feed-actions/feed-actions.component.js +3 -3
- package/esm5/lib/feed-comments/feed-comments.component.js +1 -1
- package/esm5/lib/feed-item/feed-item.component.js +1 -1
- package/esm5/lib/feed-publication/feed-modal-item-edit/feed-modal-item-edit.component.js +1 -1
- package/esm5/lib/feed-publication/feed-publication.component.js +1 -1
- package/esm5/lib/feed-publication/modal-announce/modal-announce.component.js +1 -1
- package/esm5/lib/stories/stories.component.js +1 -1
- package/fesm2015/asap-feed-beta.js +8 -8
- package/fesm2015/asap-feed-beta.js.map +1 -1
- package/fesm5/asap-feed-beta.js +8 -8
- package/fesm5/asap-feed-beta.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asap-feed-beta.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://asap-feed-beta/lib/asap-feed-beta.service.ts","ng://asap-feed-beta/lib/constants/constants.ts","ng://asap-feed-beta/lib/services/asap-feed.service.ts","ng://asap-feed-beta/lib/asap-feed-beta.component.ts","ng://asap-feed-beta/lib/services/stream.service.ts","ng://asap-feed-beta/lib/models/feed.model.ts","ng://asap-feed-beta/lib/services/utils.service.ts","ng://asap-feed-beta/lib/feed-publication/feed-modal-item-edit/feed-modal-item-edit.component.ts","ng://asap-feed-beta/lib/feed-item/feed-item.component.ts","ng://asap-feed-beta/lib/pipes/stream.pipe.ts","ng://asap-feed-beta/lib/pipes/safe.pipe.ts","ng://asap-feed-beta/lib/pipes/currency.pipe.ts","ng://asap-feed-beta/lib/pipes/pipes.module.ts","ng://asap-feed-beta/lib/feed-comments/feed-comments.component.ts","ng://asap-feed-beta/lib/feed-actions/feed-actions.component.ts","ng://asap-feed-beta/lib/services/product.service.ts","ng://asap-feed-beta/lib/feed-publication/modal-announce/modal-announce.component.ts","ng://asap-feed-beta/lib/feed-publication/feed-publication.component.ts","ng://asap-feed-beta/lib/services/channel.service.ts","ng://asap-feed-beta/lib/stories/stories.component.ts","ng://asap-feed-beta/lib/asap-feed-beta.module.ts","ng://asap-feed-beta/lib/asap-feed-beta.routing.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AsapFeedBetaService {\r\n public announce = false;\r\n public publication = true;\r\n public stories = true;\r\n public query = null;\r\n public options = {};\r\n constructor() {\r\n console.log('[AsapFeedBetaService] ->', this);\r\n }\r\n}\r\n","const prefix = (localStorage.getItem('feed_prefix')) ? localStorage.getItem('feed_prefix') : '';\r\n\r\nexport function path() {\r\n return {\r\n images: `${prefix}images`,\r\n feed: `${prefix}feed`,\r\n likes: `${prefix}likes`,\r\n shareds: `${prefix}shareds`\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { path } from '../constants/constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AsapFeedService {\r\n public clientFirebaseServer = localStorage.getItem('firebase_server_id');\r\n private baseUrlAPI;\r\n private client_id;\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) {\r\n this.baseUrlAPI = `https://us-central1-${this.clientFirebaseServer}.cloudfunctions.net/api`;\r\n this.client_id = localStorage.getItem('client');\r\n }\r\n\r\n public getFeed(feed_id, user=null, query = null) {\r\n let limit = 6;\r\n let url;\r\n\r\n if (!query) {\r\n console.log('Not Query');\r\n url = `${this.baseUrlAPI}/mobile/feed/${feed_id}?limit=${limit}&feed_path=${path().feed}&client_id=${this.client_id}`\r\n }\r\n else if (query && query.searchBy && query.searchValue) {\r\n console.log('Query');\r\n url = `${this.baseUrlAPI}/mobile/feed/${feed_id}?limit=${limit}&searchBy=${query.searchBy}&searchValue=${query.searchValue}&feed_path=${path().feed}&client_id=${this.client_id}`\r\n }\r\n\r\n return this.http.post(url,{user: user});\r\n }\r\n\r\n public createFeed(data) {\r\n return this.http.post(`${this.baseUrlAPI}/feed?feed_path=${path().feed}&client_id=${this.client_id}`, data);\r\n }\r\n\r\n public getMoreFeed(limit, last_documment, user=null, query = null) {\r\n let url\r\n\r\n if (!query) {\r\n url = this.baseUrlAPI + `/mobile/feed?limit=${limit}&last_doc=${last_documment}&feed_path=${path().feed}&client_id=${this.client_id}`;\r\n }\r\n else if (query && query.searchBy && query.searchValue) {\r\n url = `${this.baseUrlAPI}/mobile/feed?limit=${limit}&last_doc=${last_documment}&searchBy=${query.searchBy}&searchValue=${query.searchValue}&feed_path=${path().feed}&client_id=${this.client_id}`\r\n }\r\n\r\n return this.http.post(url,{user: user});\r\n }\r\n\r\n public sendComment(feed_id, data) {\r\n return this.http.post(`${this.baseUrlAPI}/comment/${feed_id}`, data);\r\n }\r\n\r\n public deleteComment(feed_id, comment_id) {\r\n return this.http.delete(`${this.baseUrlAPI}/comment/${feed_id}/${comment_id}`);\r\n }\r\n\r\n public sendReplyComment(feed_id, comment_id, data) {\r\n return this.http.post(`${this.baseUrlAPI}/comment/reply/${feed_id}/${comment_id}`, data);\r\n }\r\n\r\n public deleteReplyComment(feed_id, comment_id, reply_id) {\r\n return this.http.delete(`${this.baseUrlAPI}/comment/reply/${feed_id}/${comment_id}/${reply_id}`);\r\n }\r\n\r\n public likeComment(feed_id, comment_id, data) {\r\n return this.http.post(`${this.baseUrlAPI}/comment/like/${feed_id}/${comment_id}`, data);\r\n }\r\n\r\n public likePost(feed_id, data) {\r\n return this.http.post(`${this.baseUrlAPI}/like/${feed_id}`, data);\r\n }\r\n\r\n public deleteLikeComment(feed_id, comment_id, like_id) {\r\n return this.http.delete(`${this.baseUrlAPI}/comment/like/${feed_id}/${comment_id}/${like_id}`);\r\n }\r\n\r\n public sendNotification(user_id, type, data) {\r\n console.log('[SendNotification] ->', user_id, type, data);\r\n return this.http.post(`${this.baseUrlAPI}/notification/${user_id}/${type}`, data);\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit, Input, HostListener, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { AsapFeedService } from './services/asap-feed.service';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AsapFeedBetaService } from './asap-feed-beta.service';\r\nimport { Global } from 'asap-crud';\r\n\r\n@Component({\r\n selector: 'asap-feed-beta',\r\n templateUrl: './asap-feed-beta.component.html',\r\n styles: ['./asap-feed.beta.componente.scss']\r\n})\r\nexport class AsapFeedBetaComponent implements OnInit, OnChanges {\r\n\r\n public hasFeed = true;\r\n public loading = true;\r\n\r\n @Input() id;\r\n\r\n public hasID = false;\r\n\r\n public stories = true;\r\n public announce = false;\r\n public publication = true;\r\n public query = null;\r\n public feedID;\r\n public feeds;\r\n public paginate;\r\n public topPosToStartShowing = 400;\r\n public showToTopButton = false;\r\n public isSinglePost = false;\r\n\r\n constructor(\r\n private feedService: AsapFeedService,\r\n public db: AngularFirestore,\r\n public route: ActivatedRoute,\r\n public controlService: AsapFeedBetaService,\r\n public global: Global,\r\n ) {\r\n this.loading = true;\r\n this.query = null;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.announce = this.controlService.announce;\r\n this.stories = this.controlService.stories;\r\n this.publication = this.controlService.publication;\r\n this.query = this.controlService.query;\r\n\r\n console.log('Query ->', this.query);\r\n\r\n this.route.params.subscribe(param => {\r\n console.log('Params ->', param);\r\n if (param) {\r\n if (param.feed_id) {\r\n this.feedID = param.feed_id;\r\n this.isSinglePost = true;\r\n\r\n setTimeout(() => {\r\n this.getFeed(this.feedID);\r\n }, 600);\r\n }\r\n else {\r\n this.getFeed();\r\n }\r\n }\r\n });\r\n this.checkFeedChange();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n console.log('HasChanges ->', changes);\r\n\r\n if (changes.feedID) {\r\n console.log('HasChanges [feedID]->', changes.feedID);\r\n setTimeout(() => {\r\n this.getFeed(this.feedID);\r\n }, 600);\r\n }\r\n\r\n if (changes.id) {\r\n if (this.id) {\r\n this.hasID = true;\r\n if (!this.controlService.query) this.controlService.query = {};\r\n this.controlService.query.searchBy = 'user_info.id';\r\n this.controlService.query.searchValue = this.id + '&typeValue=number';\r\n }\r\n }\r\n }\r\n\r\n public getFeed(feed_id = '') {\r\n console.log('[getFeed] Query', this.query);\r\n this.feedService.getFeed(feed_id, this.global.loggedUser(), this.query).subscribe((response: any) => {\r\n this.feeds = response.data;\r\n console.log('Feeds', this.feeds);\r\n this.paginate = response.pagination;\r\n this.loading = false;\r\n this.hasFeed = (this.feeds.length > 0);\r\n });\r\n }\r\n\r\n public getMore() {\r\n console.log('[getMore]', this.paginate.next_document);\r\n if (this.paginate.next_document) {\r\n this.loading = true;\r\n this.feedService.getMoreFeed(5, this.paginate.next_document, this.global.loggedUser(), this.query).subscribe((response: any) => {\r\n response.data.map(item => {\r\n if (this.permitted(item)) {\r\n this.feeds.push(item);\r\n }\r\n });\r\n\r\n this.paginate = response.pagination;\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n\r\n public checkFeedChange() {\r\n // const collection = this.db.collection(path().feed, ref => {\r\n // return ref.orderBy('updated_at', 'desc');\r\n // });\r\n\r\n // collection.snapshotChanges().subscribe(response => {\r\n // console.log(\"[checkFeedChange]\",response);\r\n // if (response) {\r\n // setTimeout(() => {\r\n // console.log(\"[checkFeedChange]\")\r\n // this.getFeed(this.feedID);\r\n // }, 600);\r\n // }\r\n // })\r\n }\r\n\r\n @HostListener('window:scroll')\r\n checkScroll() {\r\n const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n if (scrollPosition >= this.topPosToStartShowing) {\r\n this.showToTopButton = true;\r\n } else {\r\n this.showToTopButton = false;\r\n }\r\n }\r\n\r\n gotoTop() {\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }\r\n\r\n permitted(post) {\r\n if (post.permission) {\r\n if (post.permission.length > 0) {\r\n let result = false;\r\n const user = this.global.loggedUser();\r\n if (user) {\r\n if (post.user_info && post.user_info.id == user.id) {\r\n result = true;\r\n }\r\n else if (user.extras) {\r\n const extras = user.extras[0];\r\n for (const perm of post.permission) {\r\n if ((perm.field == 'multi-conta') && (perm.value == user.client_id)) {\r\n result = true;\r\n break;\r\n }\r\n else if (extras[perm.field] == perm.value) {\r\n result = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n public onNewFeed(id) {\r\n console.log('[onNewFeed]', id);\r\n this.feedService.getFeed(id).subscribe((response: any) => {\r\n let index = this.feeds.length;\r\n\r\n for (const feed of response.data) {\r\n feed.focus = true;\r\n }\r\n\r\n for (const feed of this.feeds) {\r\n feed.focus = false;\r\n }\r\n\r\n for (let i = 0; i < this.feeds.length; i++) {\r\n console.log('[onNewFeed] Feed', this.feeds[i]);\r\n if (!this.feeds[i].isHighlighted) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n\r\n this.feeds = [\r\n ... this.feeds.slice(0, index),\r\n ... response.data,\r\n ... this.feeds.slice(index)\r\n ];\r\n\r\n setTimeout(() => {\r\n const el = document.getElementsByClassName('focus-on-me')[0];\r\n el.scrollIntoView({ behavior: 'smooth' });\r\n }, 500);\r\n\r\n });\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class StreamService {\r\n\r\n public streamVideoPath: string;\r\n\r\n constructor(public http: HttpClient) {\r\n if (localStorage.getItem('loggedUser')) {\r\n const session = JSON.parse(localStorage.getItem('loggedUser'));\r\n this.streamVideoPath = (session.data.link_company) ? session.data.link_company : session.data.link;\r\n console.log('streamVideoPath', this.streamVideoPath);\r\n }\r\n }\r\n\r\n private getHeaders() {\r\n let headers = {\r\n 'Accept': 'application/json'\r\n };\r\n if (localStorage.getItem('token')) {\r\n headers['Authorization'] = localStorage.getItem('token');\r\n }\r\n return headers;\r\n }\r\n\r\n public status(id: string): any {\r\n return this.http.get(this.streamVideoPath + 'videos/' + id, { headers: this.getHeaders() });\r\n }\r\n\r\n public uploadFile(data: any): any {\r\n const formData: FormData = new FormData();\r\n formData.append('file', data);\r\n\r\n const req = new HttpRequest('POST', 'http://api.tecnologiaasap.com.br/api/cloudinary/upload', formData, {\r\n reportProgress: true,\r\n responseType: 'json',\r\n headers: new HttpHeaders(this.getHeaders())\r\n });\r\n\r\n console.log('RESPONSE UPLOAD', req);\r\n return this.http.request(req);\r\n }\r\n\r\n uid() {\r\n return this.s4() + this.s4() + '-' + this.s4() + '-' + this.s4() + '-' +\r\n this.s4() + '-' + this.s4() + this.s4() + this.s4();\r\n }\r\n\r\n s4() {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n }\r\n\r\n}\r\n","export class UserInfo {\r\n id: number = null;\r\n name: string = null;\r\n updated_at: any = null;\r\n picture: string = null;\r\n}\r\n\r\nexport class ProductModel {\r\n cod: number = null;\r\n descr: string = null;\r\n hashtag: string = null;\r\n id: number = null;\r\n produto: string = null;\r\n parcela: string = null;\r\n qtdMinimo: number = null;\r\n valorAte: number = null;\r\n valorDe: number = null;\r\n adaptation: string = null;\r\n desconto: number = null;\r\n fotos = [];\r\n}\r\n\r\nexport class FilesModel {\r\n url: string = null;\r\n type: string = null;\r\n status: number = 1;\r\n thumb_rendering = false;\r\n video_rendering = false;\r\n video_low_rendering = false;\r\n name: string = null;\r\n isCloudinary:boolean = false;\r\n}\r\n\r\nexport class FilesModelEdit {\r\n url: string = null;\r\n type: string = null;\r\n status: number = null;\r\n thumb_rendering = false;\r\n video_rendering = false;\r\n video_low_rendering = false;\r\n name: string = null;\r\n new:boolean = true\r\n}\r\n\r\nexport class FeedModel {\r\n id: string = null;\r\n ref: string = null;\r\n status: boolean = true;\r\n product: ProductModel = new ProductModel();\r\n type: string = 'post';\r\n source: string = 'web';\r\n likes = 0;\r\n shareds = 0;\r\n user_info: UserInfo = new UserInfo();\r\n updated_at: any = null;\r\n title: string = null;\r\n files: Array<FilesModel> = [];\r\n}","import { Injectable } from '@angular/core';\r\nimport { AngularFireStorage, AngularFireUploadTask } from '@angular/fire/storage';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { FirebaseApp } from '@angular/fire';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { AsapFeedService } from './asap-feed.service';\r\nimport { Global } from 'asap-crud';\r\n\r\n@Injectable()\r\n\r\nexport class UtilsService {\r\n\r\n public percentage: Observable<number>;\r\n public task: AngularFireUploadTask;\r\n public snapshot: Observable<any>;\r\n public lastDoc;\r\n\r\n constructor(\r\n public firebaseStorage: AngularFireStorage,\r\n public db: AngularFirestore,\r\n public firebase: FirebaseApp,\r\n public feedService:AsapFeedService,\r\n public global: Global\r\n ) { }\r\n\r\n public uploadFile(fileName: string, base64: string) {\r\n console.log('TO SUBINDO', fileName);\r\n try {\r\n let correctBase64 = base64;\r\n const ref = this.firebaseStorage.ref(fileName);\r\n this.task = ref.putString(correctBase64, 'data_url');\r\n this.percentage = this.task.percentageChanges();\r\n this.snapshot = this.task.snapshotChanges();\r\n } catch (error) {\r\n console.log(`ERRO DO SUBINDO`, error);\r\n }\r\n }\r\n\r\n getFireStorageURL(id: string) {\r\n return this.firebaseStorage.ref(id).getDownloadURL();\r\n }\r\n\r\n async deleteFireStorage(id: string) {\r\n return await this.firebaseStorage.ref(id).delete().toPromise();\r\n }\r\n\r\n uid() {\r\n return this.s4() + this.s4() + '-' + this.s4() + '-' + this.s4() + '-' +\r\n this.s4() + '-' + this.s4() + this.s4() + this.s4();\r\n }\r\n\r\n s4() {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n }\r\n\r\n isUrl(s: string): boolean {\r\n const regexp = /[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/;\r\n return regexp.test(s);\r\n }\r\n\r\n public sendNotification(data, user_destination, type) {\r\n\r\n console.log('Destinatario', user_destination);\r\n console.log('Remetente', this.global.loggedUser());\r\n\r\n if (user_destination.id != this.global.loggedUser().id) {\r\n this.feedService.sendNotification(user_destination.id,type, data).subscribe( response => {\r\n console.log('Retorno Notificacao', response);\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { Global } from 'asap-crud';\r\nimport { FilesModel, FeedModel, FilesModelEdit } from '../../models/feed.model';\r\nimport { StreamService } from '../../services/stream.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { classToPlain } from 'class-transformer';\r\nimport { path } from '../../constants/constants';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'lib-feed-modal-item-edit',\r\n templateUrl: './feed-modal-item-edit.component.html',\r\n styleUrls: ['../../asap-feed.beta.componente.scss','./feed-modal-item-edit.component.scss',],\r\n providers: [StreamService]\r\n})\r\nexport class FeedModalItemEditComponent implements OnInit {\r\n\r\n public showAnnouncePublication = false;\r\n public notAnnounce;\r\n public openAnnounceModal;\r\n public newProduct;\r\n public ExpandImg;\r\n // \r\n public title;\r\n public tmpFileArray: Array<FilesModelEdit>;\r\n public progress;\r\n public uploading;\r\n public type;\r\n public videoSendedID;\r\n public embedFile;\r\n public tmpEmbedFile;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<FeedModalItemEditComponent>,\r\n @Inject(MAT_DIALOG_DATA) public item,\r\n public global: Global,\r\n public streamService: StreamService,\r\n public sanitizer: DomSanitizer,\r\n public utilsService: UtilsService,\r\n public db: AngularFirestore\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.item) {\r\n this.title = this.item.title;\r\n this.type = this.item.type;\r\n this.tmpFileArray = this.item.files;\r\n console.log('Feed Modal ->', this.item);\r\n }\r\n }\r\n\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n\r\n async uploadFile(event: any) {\r\n for (const file of event.target.files) {\r\n\r\n const tmpFile: FilesModelEdit = new FilesModelEdit();\r\n tmpFile.type = this.getTypeByMimeType(file.type);\r\n tmpFile.status = 0;\r\n tmpFile.thumb_rendering = false;\r\n tmpFile.video_rendering = false;\r\n tmpFile.video_low_rendering = false;\r\n\r\n let error = false;\r\n if (this.getTypeByMimeType(file.type) === 'video' && this.tmpFileArray.filter((tmp: any) => this.getTypeByMimeType(tmp.type) === 'video').length > 0) {\r\n this.global.toastService.error({\r\n title: 'Ops',\r\n message: 'Você só pode enviar um vídeo por Post'\r\n });\r\n error = true;\r\n }\r\n\r\n if (this.getTypeByMimeType(file.type) === 'image' && this.tmpFileArray.filter((tmp: any) => this.getTypeByMimeType(tmp.type) === 'image').length > 4) {\r\n this.global.toastService.error({\r\n title: 'Ops',\r\n message: 'Você pode utilizar até no máximo 5 imagens no seu Post'\r\n });\r\n error = true;\r\n }\r\n\r\n if (!error) {\r\n console.log('File Sended',file);\r\n // **********************************************\r\n // !file.name.includes('firebasestorage')\r\n // Este trecho de código, verifica se o arquivo que está no tmpFileArray já foi enviado para evitar\r\n // o reenvio\r\n // ***********************************************\r\n if (this.getTypeByMimeType(file.type) === 'image' && !file.new) {\r\n console.log('File do Upload ->', file);\r\n if (file.type == 'image/gif') {\r\n tmpFile.url = `${this.streamService.uid()}.gif`;\r\n tmpFile.name = await this.readGIF(file);\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n\r\n else {\r\n const getExtname = file.name.split('.');\r\n const extname = getExtname[getExtname.length - 1];\r\n\r\n tmpFile.url = `${this.streamService.uid()}.${extname}`;\r\n tmpFile.name = await this.resizeImages(file, 800);\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n }\r\n\r\n else if (this.getTypeByMimeType(file.type) === 'video' && !file.new) {\r\n this.uploading = true;\r\n console.log('Realizar Upload de Video', tmpFile);\r\n let reader = file\r\n if (reader) {\r\n let blobURL = URL.createObjectURL(reader);\r\n tmpFile.name = blobURL as any;\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n\r\n this.uploading = true;\r\n await this.streamService.uploadFile(file).subscribe(\r\n response => {\r\n if (response['loaded']) {\r\n tmpFile.status = ((response['loaded'] * 100) / response['total']).toFixed(0) as any;\r\n this.progress = tmpFile.status;\r\n console.log('Response', tmpFile);\r\n }\r\n\r\n if (response['body']) {\r\n tmpFile.url = response['body']['uuidVideo'];\r\n this.videoSendedID = tmpFile.url;\r\n this.uploading = false;\r\n this.progress = null;\r\n\r\n }\r\n }\r\n )\r\n console.log('tmpFile', tmpFile);\r\n }\r\n }\r\n }\r\n }\r\n\r\n share(): any {\r\n let data = null;\r\n data = this.item;\r\n delete data.likes;\r\n delete data.comments;\r\n data.title = this.title;\r\n\r\n\r\n if (this.tmpFileArray || this.tmpFileArray.length > 0) {\r\n data.files = this.tmpFileArray;\r\n data.files.map(item => {\r\n if (item.type === 'video' && !item.video_rendering) {\r\n console.log('Existe um video no Feed', item);\r\n item.video_rendering = false;\r\n item.video_low_rendering = false;\r\n item.thumb_rendering = false;\r\n\r\n // Setando o ID do Feed igual ao ID do vídeo\r\n data.ref = item.url;\r\n data.status = false;\r\n this.streamService.status(item.url).subscribe((res: any) => {\r\n item.video_rendering = !res.p480;\r\n item.video_low_rendering = !res.p480_low;\r\n item.thumb_rendering = !res.thumb;\r\n });\r\n }\r\n })\r\n }\r\n\r\n this.publish(data);\r\n\r\n }\r\n\r\n public publish(data: FeedModel) {\r\n let count = 0;\r\n if (this.type == 'embed') {\r\n let fileEmbed: any = {\r\n name: this.embedFile,\r\n url: this.embedFile,\r\n type: 'embed'\r\n }\r\n\r\n this.tmpFileArray.push(fileEmbed);\r\n }\r\n if (this.tmpFileArray && this.tmpFileArray.length > 0) {\r\n const images = this.tmpFileArray.filter(\r\n (image: any) => this.getTypeByMimeType(image.type) === 'image' && image.new\r\n );\r\n\r\n const step = 98 / images.length;\r\n\r\n if (images && images.length > 0) {\r\n console.log('Imagens para Publicar ->', images);\r\n\r\n for (const image of images) {\r\n console.log('Imagem ->', image);\r\n\r\n setTimeout(() => {\r\n this.utilsService.uploadFile(`images/${image.url}`, image.name);\r\n\r\n this.utilsService.percentage.subscribe(percent => {\r\n image.status = percent;\r\n image.name = image.url;\r\n });\r\n\r\n this.utilsService.task.snapshotChanges().subscribe(\r\n async snap => {\r\n if (snap.bytesTransferred === snap.totalBytes) {\r\n count++;\r\n this.progress += step;\r\n const index = data.files.findIndex(item => item.name === image.name);\r\n\r\n this.utilsService.getFireStorageURL(`images/${data.files[index].name}`).subscribe((imageURL) => {\r\n console.log('Image File Url ->', imageURL);\r\n data.files[index].name = imageURL;\r\n });\r\n\r\n delete data.files[index].url;\r\n\r\n if (count == images.length) {\r\n console.log('Imagens Pos Processaento ->', data.files);\r\n const collection = this.db.collection(path().feed).doc(this.item.id)\r\n collection.update(classToPlain(data)).then( response => {\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n this.close();\r\n });\r\n }\r\n }\r\n });\r\n })\r\n }\r\n }\r\n else {\r\n const collection = this.db.collection(path().feed).doc(this.item.id);\r\n collection.update(classToPlain(data)).then( response => {\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n this.close();\r\n });\r\n }\r\n }\r\n else {\r\n const collection = this.db.collection(path().feed).doc(this.item.id);\r\n collection.update(classToPlain(data)).then( response => {\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n this.close();\r\n });\r\n }\r\n }\r\n\r\n // publish(data: FeedModel) {\r\n // let image;\r\n\r\n // console.log('Publish()', 1, data);\r\n // this.uploading = true;\r\n // this.progress = 0;\r\n\r\n\r\n // let count = 0;\r\n\r\n // if (this.type == 'embed') {\r\n // let fileEmbed: any = {\r\n // name: this.embedFile,\r\n // url: this.embedFile,\r\n // type: 'embed'\r\n // }\r\n\r\n // this.tmpFileArray.push(fileEmbed);\r\n // }\r\n\r\n // if (this.type != 'embed') {\r\n // if (this.tmpFileArray && this.tmpFileArray.length > 0) {\r\n\r\n // const imagesFiles = this.tmpFileArray.filter(\r\n // (tmp: any) => this.getTypeByMimeType(tmp.type) === 'image'\r\n // );\r\n\r\n\r\n // const step = 98 / imagesFiles.length;\r\n\r\n // if (imagesFiles.length > 0) {\r\n // console.log('Publish()', 3, imagesFiles)\r\n // for (const file of imagesFiles) {\r\n // if (file.new) {\r\n // setTimeout(() => {\r\n // this.utilsService.uploadFile(`images/${file.url}`, file.name);\r\n // this.utilsService.percentage.subscribe(percent => {\r\n // file.status = percent;\r\n // // file.name = file.url;\r\n // delete file.new;\r\n // console.log(\"File\", file);\r\n // });\r\n\r\n // this.utilsService.task.snapshotChanges().subscribe(\r\n // async snap => {\r\n // if (snap.bytesTransferred === snap.totalBytes) {\r\n // count++;\r\n // this.progress += step;\r\n // console.log('PROGRESS', this.progress);\r\n // const index = data.files.findIndex(item => item.url === file.url);\r\n\r\n // if ((!image) && (data.files[index])) {\r\n // this.utilsService.getFireStorageURL(`images/${data.files[index].url}`).subscribe((imageURL) => {\r\n // image = imageURL;\r\n // });\r\n\r\n // }\r\n\r\n // data.files[index].name = data.files[index].url;\r\n\r\n\r\n // console.log('Data Files ->',data.files);\r\n // if (count == imagesFiles.length) {\r\n\r\n // const collection = this.db.collection(path().feed).doc(this.item.id)\r\n // collection.update(classToPlain(data));\r\n\r\n // this.title = '';\r\n // this.progress = null;\r\n // this.uploading = null;\r\n // this.tmpFileArray = [];\r\n\r\n // console.log('Publish()', 4)\r\n // }\r\n // }\r\n // },\r\n // error => {\r\n // console.error('Error', error);\r\n // })\r\n // });\r\n // }\r\n // }\r\n // }\r\n // else {\r\n // console.log('Publish()', 5)\r\n // console.log(data)\r\n\r\n // const collection = this.db.collection(path().feed).doc(this.item.id);\r\n // collection.update(classToPlain(data));\r\n\r\n // this.title = '';\r\n // this.progress = null;\r\n // this.uploading = null;\r\n // this.tmpFileArray = [];\r\n\r\n\r\n\r\n // }\r\n // }\r\n // else {\r\n // console.log('Publish()', 5);\r\n // console.log(data);\r\n\r\n // const collection = this.db.collection(path().feed).doc(this.item.id);\r\n // collection.update(classToPlain(data));\r\n\r\n // this.title = '';\r\n // this.progress = null;\r\n // this.uploading = null;\r\n // this.tmpFileArray = [];\r\n // }\r\n // }\r\n\r\n // else {\r\n // data.files = this.tmpFileArray;\r\n\r\n // console.log('Publish(Embed)', 6);\r\n // console.log(data);\r\n\r\n // const collection = this.db.collection(path().feed).doc(this.item.id);\r\n // collection.update(classToPlain(data));\r\n\r\n // this.title = '';\r\n // this.progress = null;\r\n // this.uploading = null;\r\n // this.tmpFileArray = [];\r\n // }\r\n\r\n\r\n // console.log('Publish()', 0, path().feed);\r\n\r\n // const collection = this.db.collection(path().feed).doc(this.item.id); \r\n // collection.update(classToPlain(data));\r\n\r\n // this.title = '';\r\n // this.progress = null;\r\n // this.uploading = null;\r\n // this.tmpFileArray = [];\r\n // this.global.toast('Publicação criada com sucesso.')\r\n // this.close();\r\n // }\r\n\r\n getTypeByMimeType(mime: string): string {\r\n const split = mime.split('/');\r\n return split[0];\r\n }\r\n\r\n resizeImages(file: any, width: number): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n const img = new Image();\r\n const MAX_WIDTH = width;\r\n const MAX_HEIGHT: any = 1334;\r\n\r\n let reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = (e: any) => {\r\n img.src = e.target.result;\r\n img.onload = () => {\r\n const scale = MAX_WIDTH / img.width;\r\n const canvas = document.createElement(\"canvas\");\r\n canvas.height = scale * img.height;\r\n\r\n canvas.width = MAX_WIDTH;\r\n let ctx = canvas.getContext(\"2d\");\r\n ctx.drawImage(img, 0, 0);\r\n\r\n console.log('IMG', img.width, img.height);\r\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\r\n\r\n let dataurl = canvas.toDataURL(file.type, 0.65);\r\n console.log('CANVAS ->', canvas.width, canvas.height);\r\n return resolve(dataurl);\r\n }\r\n }\r\n\r\n reader.onerror = reject;\r\n });\r\n\r\n }\r\n\r\n readGIF(file: any): Promise<any> {\r\n return new Promise((resolve, reject) => {\r\n\r\n let reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = (e: any) => {\r\n return resolve(reader.result);\r\n }\r\n\r\n reader.onerror = reject;\r\n });\r\n\r\n }\r\n\r\n removeTmpFile(tmpFile: any): void {\r\n const index = this.tmpFileArray.indexOf(tmpFile);\r\n this.tmpFileArray.splice(index, 1);\r\n }\r\n\r\n checkPublicationType(title) {\r\n console.log('Event ->', event);\r\n if (title.length > 35) {\r\n if (this.isValidUrl(title)) {\r\n console.log('checkPublicationType', title);\r\n if (title.includes('youtube')) {\r\n this.tmpFileArray = [];\r\n this.uploading = true;\r\n this.type = 'embed';\r\n this.uploading = false;\r\n this.embedFile = title.replace('watch?v=', 'embed/');\r\n this.tmpEmbedFile = this.sanitizer.bypassSecurityTrustResourceUrl(this.embedFile);\r\n }\r\n else if (title.includes('spotify')) {\r\n this.tmpFileArray = [];\r\n this.uploading = true;\r\n this.type = 'embed';\r\n this.embedFile = title.replace('/episode', '/embed-podcast/episode');\r\n this.tmpEmbedFile = this.sanitizer.bypassSecurityTrustResourceUrl(this.embedFile);\r\n this.uploading = false;\r\n }\r\n\r\n let fileEmbed: any = {\r\n name: this.embedFile,\r\n url: this.embedFile,\r\n type: 'embed'\r\n }\r\n\r\n this.tmpFileArray.push(fileEmbed);\r\n }\r\n }\r\n }\r\n\r\n removeEmbedFiles() {\r\n this.title = \"\";\r\n this.embedFile = \"\";\r\n this.type = \"post\";\r\n this.tmpFileArray = [] \r\n }\r\n\r\n isValidUrl(str) {\r\n var pattern = new RegExp('^(https?:\\\\/\\\\/)?' + // protocol\r\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\r\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\r\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\r\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\r\n '(\\\\#[-a-z\\\\d_]*)?$', 'i'); // fragment locator\r\n return !!pattern.test(str);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';\r\nimport { StreamService } from '../services/stream.service';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { Global } from 'asap-crud';\r\nimport { FeedModalItemEditComponent } from '../feed-publication/feed-modal-item-edit/feed-modal-item-edit.component';\r\nimport { path } from '../constants/constants';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\nimport SwiperCore, { Navigation, Pagination } from 'swiper';\r\nSwiperCore.use([Navigation, Pagination]);\r\n\r\n@Component({\r\n selector: 'app-feed-item',\r\n templateUrl: './feed-item.component.html',\r\n styleUrls: ['../asap-feed.beta.componente.scss', './feed-item.component.scss'],\r\n providers: [ StreamService ]\r\n})\r\nexport class FeedItemComponent implements OnInit {\r\n\r\n @Input() item;\r\n @Input() owner;\r\n public currentIndex;\r\n public imageLoaded = false;\r\n public imageDataLoaded = false;\r\n public currentCarrouselIndex;\r\n public blurBackgroundIndex = Math.floor((Math.random() * 5) + 1);\r\n @ViewChild('videoPlayer', { static: true }) videoplayer: ElementRef\r\n\r\n constructor(\r\n public streamService: StreamService,\r\n public db: AngularFirestore,\r\n public global: Global,\r\n public dialog: MatDialog,\r\n public service: UtilsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n \r\n if (this.item.files && this.item.files.length > 0) {\r\n this.item.files.map(feed => {\r\n if (feed.url && feed.url.includes('youtube')) {\r\n feed.isYoutube = true;\r\n let youtubeID = this.getYoutubeID(feed.url);\r\n feed.url = `https://www.youtube.com/embed/${youtubeID}`;\r\n }\r\n })\r\n }\r\n\r\n // console.log('ITEM ->', this.item);\r\n }\r\n\r\n public onloadImage(event) {\r\n // console.log('Event onloadImage ->', event);\r\n this.imageLoaded = true;\r\n this.imageDataLoaded = true;\r\n }\r\n\r\n public onErrorImage(event) {\r\n // console.log('Event onErrorImage ->', event);\r\n }\r\n\r\n public playVideo(event) {\r\n // console.log('Event ->', event);\r\n if (this.videoplayer) {\r\n this.videoplayer.nativeElement.play();\r\n }\r\n }\r\n\r\n public linkify(str) {\r\n var re: any;\r\n re = [\r\n \"\\\\b((?:https?|ftp)://[^\\\\s\\\"'<>]+)\\\\b\",\r\n \"\\\\b(www\\\\.[^\\\\s\\\"'<>]+)\\\\b\",\r\n \"\\\\b(\\\\w[\\\\w.+-]*@[\\\\w.-]+\\\\.[a-z]{2,6})\\\\b\",\r\n \"#([a-z0-9]+)\"];\r\n re = new RegExp(re.join('|'), \"gi\");\r\n\r\n if (str) {\r\n return str.replace(re, function (match, url, www, mail, twitler) {\r\n if (url)\r\n return \"<a class='text-primary' target='_blank' (click)='redirectNewLink(url)' href=\\\"\" + url + \"\\\">\" + url + \"</a>\";\r\n if (www)\r\n return \"<a class='text-primary' href=\\\"http://\" + www + \"\\\">\" + www + \"</a>\";\r\n if (mail)\r\n return \"<a class='text-primary' href=\\\"#</a>\";\r\n if (twitler)\r\n return \"<a class='text-primary' href=\\\"portal/search/\" + encodeURIComponent('#' + twitler) + \"\\\">#\" + twitler + \"</a>\";\r\n // return \"<a class='text-primary' href=\\\"#\\\">#\" + twitler + \"</a>\";\r\n\r\n // shouldnt get here, but just in case\r\n return match;\r\n });\r\n }\r\n }\r\n\r\n public checkVideoRender(item) {\r\n\r\n console.log('videoRender ->', item);\r\n this.streamService.status(item).subscribe((res: any) => {\r\n console.log('checkVideoRender', res);\r\n })\r\n }\r\n\r\n public onEditItem() {\r\n // Preparar feed para editar\r\n let feed;\r\n feed = this.item;\r\n delete feed.comments;\r\n delete feed.likes;\r\n\r\n feed.files.map(file => {\r\n file.new = false;\r\n });\r\n\r\n this.dialog.open(FeedModalItemEditComponent, {\r\n width: '600px',\r\n data: feed,\r\n panelClass: 'modal-feed-publication'\r\n })\r\n }\r\n\r\n preConvertNumber(value) {\r\n return parseFloat(value);\r\n }\r\n\r\n public onRemoveItem(item) {\r\n this.global.swal({\r\n title: 'Você realmente deseja remover este Post?',\r\n text: 'Você não poderá reverter essa ação depois de confirmado',\r\n type: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\"\r\n }).then(async confirm => {\r\n if (confirm.value) {\r\n const collection = this.db.collection(path().feed).doc(item.id);\r\n\r\n if (item.files && item.files.length > 0) {\r\n for (const file of item.files) {\r\n if (file.type === 'image') {\r\n if (file.name) {\r\n try {\r\n await this.service.deleteFireStorage(`${path().images}/${file.name}`);\r\n } catch (error) {\r\n console.log('Removendo um post com imagem não referenciada', error);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n collection.delete();\r\n this.global.toast('Post removido com Sucesso');\r\n }\r\n });\r\n }\r\n\r\n checkFileOrigin(file) {\r\n\r\n }\r\n\r\n isYoutube(file) {\r\n console.log('IsYoutube ->', file);\r\n if (file.includes('youtube')) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getYoutubeID(url) {\r\n var regExp = /^.*((youtu.be\\/)|(v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))\\??v?=?([^#&?]*).*/;\r\n var match = url.match(regExp);\r\n return (match && match[7].length == 11) ? match[7] : false;\r\n}\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl, SafeUrl, SafeStyle } from '@angular/platform-browser';\r\n\r\n@Pipe({name: 'stream'})\r\nexport class StreamPipe implements PipeTransform {\r\n\r\n public url: string;\r\n\r\n constructor(private domSanitizer: DomSanitizer) {\r\n if (localStorage.getItem('loggedUser')) {\r\n const session = JSON.parse(localStorage.getItem('loggedUser')).data;\r\n this.url = (session.link_company) ? session.link_company : session.link;\r\n }\r\n else {\r\n // Carregar vídeos no Feed caso o usuário não esteja logado\r\n let link = localStorage.getItem('streamURL');\r\n this.url = link;\r\n }\r\n\r\n }\r\n\r\n transform(param: string, arg?: string): SafeResourceUrl | string {\r\n if (arg === 'link') {\r\n return this.getVideoUri(param);\r\n }\r\n if (arg === 'thumb') {\r\n return this.getVideoThumb(param);\r\n }\r\n if (arg === 'id') {\r\n return this.getVideoId(param);\r\n }\r\n if (arg === 'fire') {\r\n return this.getFireStorageURL(param);\r\n }\r\n if (arg === 'styleThumbUrl') {\r\n return this.domSanitizer.bypassSecurityTrustStyle(`url(${this.getVideoThumb(param)})`);\r\n }\r\n if (arg === 'backgroundImage') {\r\n return this.domSanitizer.bypassSecurityTrustStyle(`url(${param}`);\r\n }\r\n \r\n return param;\r\n }\r\n\r\n getVideoThumb(url: string): SafeResourceUrl {\r\n return this.url + 'videos/thumb/' + this.getVideoId(url);\r\n }\r\n\r\n getVideoUri(url: string): SafeResourceUrl {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(this.url + 'videos/' + this.getVideoId(url) + '/480_low');\r\n }\r\n\r\n getFireStorageURL(url:string): SafeUrl {\r\n console.log('URL', url);\r\n return this.domSanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n getVideoId(url: string): string {\r\n if (this.isUrl(url)) {\r\n const split = url.split('/');\r\n return split[4];\r\n }\r\n return url;\r\n }\r\n\r\n isUrl(s: string): boolean {\r\n const regexp = /[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/;\r\n return regexp.test(s);\r\n }\r\n\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safe'\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n\r\n constructor(protected sanitizer: DomSanitizer) {}\r\n \r\n public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n if (value) {\r\n switch (type) {\r\n case 'html': return this.sanitizer.bypassSecurityTrustHtml(value);\r\n case 'style': return this.sanitizer.bypassSecurityTrustStyle(value);\r\n case 'script': return this.sanitizer.bypassSecurityTrustScript(value);\r\n case 'url': return this.sanitizer.bypassSecurityTrustUrl(value);\r\n case 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value);\r\n default: throw new Error(`Invalid safe type specified: ${type}`);\r\n }\r\n }\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { CurrencyPipe } from '@angular/common';\r\n\r\nconst _NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\r\n\r\n@Pipe({name: 'looseCurrency'})\r\nexport class LooseCurrencyPipe implements PipeTransform {\r\n constructor(private _currencyPipe: CurrencyPipe) {}\r\n\r\n transform(value: any, currencyCode: string, symbolDisplay: boolean, digits: string): string {\r\n if (typeof value === 'number' || _NUMBER_FORMAT_REGEXP.test(value)) {\r\n return this._currencyPipe.transform(value, currencyCode, symbolDisplay, digits);\r\n } else {\r\n return value;\r\n }\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { StreamPipe } from './stream.pipe';\r\nimport { SafePipe } from './safe.pipe';\r\nimport { LooseCurrencyPipe } from './currency.pipe';\r\nimport { CurrencyPipe } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n SafePipe,\r\n StreamPipe,\r\n LooseCurrencyPipe\r\n ],\r\n imports: [\r\n\r\n ],\r\n exports: [\r\n SafePipe,\r\n StreamPipe,\r\n LooseCurrencyPipe\r\n ],\r\n providers:[\r\n CurrencyPipe\r\n ]\r\n})\r\nexport class PipesModule { }\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AsapFeedService } from '../services/asap-feed.service';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { path } from '../constants/constants';\r\nimport { Global, AsapService } from 'asap-crud';\r\n\r\n@Component({\r\n selector: 'feed-comments',\r\n templateUrl: './feed-comments.component.html',\r\n styleUrls: ['./feed-comments.component.scss', '../asap-feed.beta.componente.scss']\r\n})\r\nexport class FeedCommentsComponent implements OnInit {\r\n\r\n @Input() feed_id;\r\n @Input() user;\r\n public comments = [];\r\n public replyingComment = [];\r\n public mentionsList;\r\n public limitCommentsTo = 3;\r\n public limitReplysTo = 1;\r\n public comment;ng \r\n public reply;\r\n public editedComment;\r\n public editedReply;\r\n public onLoadingLike = false;\r\n public onLoadingReply = false;\r\n public onLoadingComment = false;\r\n\r\n\r\n\r\n constructor(\r\n public global: Global,\r\n public db: AngularFirestore,\r\n public feedService: AsapFeedService,\r\n public service: UtilsService,\r\n public asapService: AsapService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getComments(this.feed_id);\r\n }\r\n\r\n public getComments(feed_id) {\r\n const collection = this.db.collection(path().feed)\r\n .doc(feed_id)\r\n .collection('comments', (ref: any) => {\r\n let query = ref.orderBy(\"updated_at\", \"desc\");\r\n return query;\r\n });\r\n\r\n\r\n collection.snapshotChanges().subscribe((comment: any) => {\r\n this.comments = [];\r\n comment.map(item => {\r\n let data = item.payload.doc.data();\r\n data.id = item.payload.doc.id;\r\n data.likeForMe = false;\r\n data.limitReplysTo = 1;\r\n\r\n const likesCollection = this.db.collection(path().feed)\r\n .doc(feed_id)\r\n .collection('comments')\r\n .doc(data.id)\r\n .collection('like');\r\n\r\n\r\n likesCollection.snapshotChanges().subscribe(like => {\r\n data.likes = [];\r\n like.map(subItemLike => {\r\n let likeData = subItemLike.payload.doc.data();\r\n likeData.id = subItemLike.payload.doc.id;\r\n\r\n if (this.global.loggedUser()) {\r\n if (likeData.user_info && likeData.user_info.id === this.global.loggedUser().id) {\r\n data.likeForMe = true;\r\n data.likeForMeID = likeData.id;\r\n }\r\n }\r\n \r\n data.likes.push(likeData);\r\n\r\n });\r\n });\r\n\r\n const replyCollection = this.db.collection(path().feed)\r\n .doc(feed_id)\r\n .collection('comments')\r\n .doc(data.id)\r\n .collection('reply', ref => {\r\n return ref.orderBy('updated_at', 'desc');\r\n });\r\n\r\n replyCollection.snapshotChanges().subscribe(reply => {\r\n data.replys = [];\r\n reply.map(subItem => {\r\n let replyData = subItem.payload.doc.data();\r\n replyData.id = subItem.payload.doc.id;\r\n\r\n data.replys.push(replyData);\r\n });\r\n\r\n });\r\n\r\n this.comments.push(data);\r\n });\r\n });\r\n }\r\n\r\n public onReplyComment(i) {\r\n if (!this.replyingComment[i]) {\r\n this.replyingComment[i] = true;\r\n }\r\n else {\r\n this.replyingComment[i] = false;\r\n }\r\n }\r\n\r\n public sendComment(comment) {\r\n let data = {\r\n comment: comment,\r\n updated_at: Date.now(),\r\n created_at: Date.now(),\r\n user_info: {\r\n id: this.global.loggedUser().id,\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture\r\n }\r\n }\r\n\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments');\r\n\r\n if (comment.length > 0) {\r\n this.onLoadingComment = true;\r\n collection.add(data);\r\n\r\n const notification = {\r\n source:'web',\r\n title: `Novo comentário`,\r\n description: `${this.global.loggedUser().name}: ${comment}`,\r\n user: this.global.loggedUser(),\r\n client_id:this.global.loggedUser().client_id,\r\n redirect: `/portal/${this.feed_id}`\r\n }\r\n\r\n this.service.sendNotification(notification, this.user, 'feed');\r\n\r\n this.comment = \"\";\r\n this.onLoadingComment = false;\r\n }\r\n }\r\n\r\n public replyComment(comment_id, comment, user_info, i) {\r\n let data = {\r\n comment: comment,\r\n created_at: Date.now(),\r\n updated_at: Date.now(),\r\n user_info: {\r\n id: this.global.loggedUser().id,\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture\r\n }\r\n }\r\n\r\n if (comment.length > 0) {\r\n this.onLoadingReply = true;\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(comment_id)\r\n .collection('reply');\r\n\r\n collection.add(data);\r\n\r\n\r\n const notification = {\r\n source:'web',\r\n title: `Nova Resposta`,\r\n description: `${this.global.loggedUser().name} respondeu: ${comment}`,\r\n client_id:this.global.loggedUser().client_id,\r\n user: this.global.loggedUser(),\r\n redirect: `/portal/${this.feed_id}`\r\n }\r\n\r\n this.service.sendNotification(notification, user_info, 'feed');\r\n\r\n this.reply = \"\";\r\n this.onLoadingReply = false;\r\n this.replyingComment[i] = false;\r\n }\r\n }\r\n\r\n public deleteReply(comment_id, reply_id) {\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(comment_id)\r\n .collection('reply')\r\n .doc(reply_id);\r\n\r\n collection.delete();\r\n }\r\n\r\n public deleteComment(comment_id) {\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(comment_id);\r\n\r\n collection.delete();\r\n }\r\n\r\n public sendLikeComment(comment_id, like_id = null, item) {\r\n this.onLoadingLike = true;\r\n if (!item.likeForMe) {\r\n let data = {\r\n created_at: Date.now(),\r\n updated_at: Date.now(),\r\n user_info: {\r\n id: this.global.loggedUser().id,\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture\r\n }\r\n }\r\n\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(comment_id)\r\n .collection('like');\r\n\r\n collection.add(data);\r\n\r\n\r\n const notification = {\r\n source:'web',\r\n title: `Nova Curtida`,\r\n description: `${this.global.loggedUser().name} curtiu seu comentário: ${item.comment}`,\r\n client_id:this.global.loggedUser().client_id,\r\n user: this.global.loggedUser(),\r\n redirect: `/portal/${this.feed_id}`\r\n }\r\n\r\n this.service.sendNotification(notification, item.user_info, 'feed');\r\n\r\n item.likeForMe = true;\r\n this.onLoadingLike = false;\r\n }\r\n else {\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(comment_id)\r\n .collection('like')\r\n .doc(like_id);\r\n\r\n collection.delete();\r\n item.likeForMe = false;\r\n this.onLoadingLike = false;\r\n }\r\n }\r\n\r\n public loadMoreComments() {\r\n this.limitCommentsTo = this.limitCommentsTo + 3;\r\n }\r\n\r\n public loadMoreReplys(item) {\r\n item.limitReplysTo = item.limitReplysTo + 3;\r\n }\r\n\r\n public linkify(str) {\r\n var re: any;\r\n re = [\r\n \"\\\\b((?:https?|ftp)://[^\\\\s\\\"'<>]+)\\\\b\",\r\n \"\\\\b(www\\\\.[^\\\\s\\\"'<>]+)\\\\b\",\r\n \"\\\\b(\\\\w[\\\\w.+-]*@[\\\\w.-]+\\\\.[a-z]{2,6})\\\\b\",\r\n \"#([a-z0-9]+)\"];\r\n re = new RegExp(re.join('|'), \"gi\");\r\n\r\n if (str) {\r\n return str.replace(re, function (match, url, www, mail, twitler) {\r\n if (url)\r\n return \"<a class='text-primary' target='_blank' (click)='redirectNewLink(url)' href=\\\"\" + url + \"\\\">\" + url + \"</a>\";\r\n if (www)\r\n return \"<a class='text-primary' href=\\\"http://\" + www + \"\\\">\" + www + \"</a>\";\r\n if (mail)\r\n return \"<a class='text-primary' href=\\\"#</a>\";\r\n if (twitler)\r\n return \"<a class='text-primary' href=\\\"portal/search/\" + encodeURIComponent('#' + twitler) + \"\\\">#\" + twitler + \"</a>\";\r\n // return \"<a class='text-primary' href=\\\"#\\\">#\" + twitler + \"</a>\";\r\n\r\n // shouldnt get here, but just in case\r\n return match;\r\n });\r\n }\r\n }\r\n\r\n public onEditReply(reply) {\r\n this.editedReply = reply.comment;\r\n if (reply.onEdit) {\r\n reply.onEdit = false;\r\n }\r\n else {\r\n reply.onEdit = true;\r\n }\r\n }\r\n\r\n public onEditComment(comment) {\r\n this.editedComment = comment.comment;\r\n\r\n if (comment.onEdit) {\r\n comment.onEdit = false;\r\n }\r\n else {\r\n comment.onEdit = true;\r\n }\r\n }\r\n\r\n public updateComment(id, comment) {\r\n this.onLoadingComment = true;\r\n let data = {\r\n comment: this.editedComment,\r\n edited: true,\r\n updated_at: Date.now()\r\n }\r\n\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(id);\r\n\r\n if (comment.length > 0) {\r\n collection.update(data);\r\n this.editedComment = \"\";\r\n this.onLoadingComment = false;\r\n }\r\n }\r\n\r\n public updateReply(comment_id, old_reply, reply) {\r\n this.onLoadingReply = true;\r\n let data = {\r\n comment: reply,\r\n updated_at: Date.now(),\r\n }\r\n\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(comment_id)\r\n .collection('reply')\r\n .doc(old_reply.id);\r\n collection.update(data);\r\n this.editedComment = \"\";\r\n this.onLoadingReply = false;\r\n old_reply.onEdit = false;\r\n }\r\n\r\n public searchMetionUsers(event) {\r\n\r\n }\r\n\r\n public loadUsers() {\r\n this.asapService.entityName = 'asap-user';\r\n this.asapService.getResources().subscribe((response: any) => {\r\n this.mentionsList = {\r\n items: response.data.map((item: any) => item.name),\r\n triggerChar: '@'\r\n };\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, Input, isDevMode } from '@angular/core';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AsapFeedService } from '../services/asap-feed.service';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { path } from '../constants/constants';\r\nimport { Global } from 'asap-crud';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Component({\r\n selector: 'feed-actions',\r\n templateUrl: './feed-actions.component.html',\r\n styleUrls: ['./feed-actions.component.scss', '../asap-feed.beta.componente.scss']\r\n})\r\nexport class FeedActionsComponent implements OnInit {\r\n\r\n @Input() item;\r\n @Input() portalName;\r\n\r\n public likes = [];\r\n public listUsersLikes;\r\n public comments = [];\r\n public shareds = [];\r\n public likeForMe = false;\r\n public sharedForMe = false;\r\n public likeForMeID;\r\n public sharedForMeID;\r\n public disabledLike;\r\n public onSendLike = false;\r\n public onSendShared = false;\r\n public deviceInfo = null;\r\n constructor(\r\n public global: Global,\r\n public db: AngularFirestore,\r\n public feedService: AsapFeedService,\r\n public service: UtilsService,\r\n public translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getLikes();\r\n this.getComments();\r\n this.getShareds();\r\n }\r\n\r\n public getLikes() {\r\n const collection = this.db.collection('likes', ref => {\r\n return ref.where('post_id', '==', this.item.id);\r\n });\r\n\r\n collection.snapshotChanges().subscribe(likes => {\r\n this.likes = [];\r\n // this.listUsersLikes = likes.map( (item:any) => item.user_info.name);\r\n // this.listUsersLikes = this.listUsersLikes.toString();\r\n likes.map((item: any) => {\r\n let data = item.payload.doc.data();\r\n data.id = item.payload.doc.id;\r\n\r\n if (this.global.loggedUser()) {\r\n // Este condição é para a versão antiga da Collection Likes\r\n if (data.uid && data.uid == this.global.loggedUser().id) {\r\n this.likeForMe = true;\r\n this.likeForMeID = data.id;\r\n }\r\n\r\n // Este condição é para a versão nova da Collection Likes\r\n if (data.user_info && data.user_info.id == this.global.loggedUser().id) {\r\n this.likeForMe = true;\r\n this.likeForMeID = data.id;\r\n }\r\n }\r\n\r\n this.likes.push(data);\r\n })\r\n });\r\n }\r\n\r\n public getComments() {\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.item.id)\r\n .collection('comments');\r\n\r\n collection.valueChanges().subscribe(response => {\r\n this.comments = response;\r\n })\r\n }\r\n\r\n public getShareds() {\r\n const collection = this.db.collection('shareds', ref => {\r\n return ref.where('post_id', '==', this.item.id);\r\n });\r\n\r\n collection.snapshotChanges().subscribe(shareds => {\r\n this.shareds = [];\r\n shareds.map((item: any) => {\r\n console.log('Shareds ->', item);\r\n let data = item.payload.doc.data();\r\n data.id = item.payload.doc.id;\r\n\r\n if (this.global.loggedUser()) {\r\n // Este condição é para a versão antiga da Collection Shareds\r\n if (data.uid && data.uid == this.global.loggedUser().id) {\r\n this.sharedForMe = true;\r\n this.sharedForMeID = data.id;\r\n }\r\n\r\n // Este condição é para a versão nova da Collection Shareds\r\n if (data.user_info && data.user_info.id == this.global.loggedUser().id) {\r\n this.likeForMe = true;\r\n this.likeForMeID = data.id;\r\n }\r\n }\r\n\r\n this.shareds.push(data);\r\n })\r\n });\r\n }\r\n\r\n public sendLike() {\r\n this.onSendLike = true;\r\n\r\n let data = {\r\n post_id: this.item.id,\r\n create_at: Date.now(),\r\n updated_at: Date.now(),\r\n user_info: {\r\n id: this.global.loggedUser().id,\r\n updated_at: Date.now(),\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture\r\n }\r\n }\r\n\r\n if (!this.likeForMe) {\r\n\r\n const notification = {\r\n title: `Nova curtida`,\r\n description: `${this.global.loggedUser().name} curtiu seu post`,\r\n user: this.global.loggedUser(),\r\n redirect: `/portal/${this.item.id}`,\r\n client_id: this.global.loggedUser().client_id,\r\n }\r\n\r\n this.service.sendNotification(notification, this.item.user_info, 'feed');\r\n\r\n const collection = this.db.collection('likes');\r\n const commentData = collection.add(data);\r\n console.log(commentData);\r\n // const \r\n // const feedDataCollection = await db.collection('feed').doc(feed_id).collection('comments').doc(comment_id);\r\n // await feedDataCollection.update({ reply_count: admin.firestore.FieldValue.increment(1) });\r\n\r\n this.onSendLike = false;\r\n }\r\n else {\r\n const collection = this.db.collection('likes').doc(this.likeForMeID);\r\n collection.delete();\r\n this.onSendLike = false;\r\n this.likeForMe = false;\r\n }\r\n }\r\n\r\n public copyToClipBoard(val: string) {\r\n const selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = val;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n //alert(\"Link copiado para a área de transferencia\")\r\n this.global.notification.success('Pronto!', 'Link copiado para a área de transferencia');\r\n }\r\n\r\n\r\n sharePost(type = 'link') {\r\n this.onSendShared = false;\r\n\r\n let data = {\r\n post_id: this.item.id,\r\n create_at: Date.now(),\r\n updated_at: Date.now(),\r\n uid: this.global.loggedUser().id,\r\n user_info: {\r\n id: this.global.loggedUser().id,\r\n updated_at: Date.now(),\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture\r\n }\r\n }\r\n\r\n if (!this.sharedForMe) {\r\n\r\n\r\n\r\n const notification = {\r\n title: `Novo Compartilhamento`,\r\n description: `${this.global.loggedUser().name} compartilhou seu post através do ${type}`,\r\n meta_data: this.global.loggedUser(),\r\n redirect: `/portal/${this.item.id}`,\r\n client_id: this.global.loggedUser().client_id,\r\n }\r\n\r\n\r\n\r\n this.service.sendNotification(notification, this.item.user_info, 'feed');\r\n\r\n\r\n const collection = this.db.collection('shareds');\r\n collection.add(data);\r\n }\r\n\r\n this.onSendShared = false;\r\n var base_url = window.location.origin;\r\n let urlShare = base_url + `/post/${this.item.id}`;\r\n\r\n // this.deviceInfo = this.deviceService.getDeviceInfo();\r\n const isMobile = false;//this.deviceService.isMobile();\r\n //const canShare = window.navigator.canShare(data);\r\n //console.log(\"canShare\",canShare)\r\n\r\n if (isMobile) {\r\n let myNavigator: any;\r\n myNavigator = window.navigator;\r\n\r\n\r\n if (myNavigator.share) {\r\n myNavigator.share({\r\n title: 'Gostei deste post',\r\n text: 'Veja esse poste de *' + this.item.user_info.name + '* que gostei ' + '\\n\\n' + urlShare,\r\n url: urlShare,\r\n })\r\n .then(() => console.log('Successful share'))\r\n .catch((error) => console.log('Error sharing', error));\r\n }\r\n\r\n } else {\r\n let url = '';\r\n if (type == 'whatsapp') {\r\n let original = this.translate.instant('LookThisPostThatIFound');\r\n url = `${original.split(\"{{user_name}}\").join(this.item.user_info.name)}\\n\\n${urlShare}`;\r\n url = `https://wa.me/?text=${encodeURIComponent(url)}`;\r\n window.open(url);\r\n }\r\n else if (type == 'linkedin') {\r\n url = `https://www.linkedin.com/shareArticle?mini=true&url=${urlShare}&title=${encodeURIComponent('Gostei deste post do *' + this.item.user_info.name + '* que encontrei no ' + 'Portal ' + '\\n\\n' + urlShare)}`\r\n window.open(url);\r\n }\r\n else if (type == 'telegram') {\r\n url = `https://telegram.me/share/url?url=${urlShare}`;\r\n window.open(url);\r\n }\r\n else if (type == 'link') {\r\n this.copyToClipBoard(urlShare);\r\n }\r\n else if (type == 'facebook') {\r\n url = `https://www.facebook.com/sharer/sharer.php?u=${urlShare}`;\r\n window.open(url);\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Global, AsapBaseService } from 'asap-crud';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class ProductService extends AsapBaseService {\r\n\r\n constructor(\r\n public http: HttpClient,\r\n public global: Global,\r\n public router: Router\r\n ) {\r\n super(http);\r\n this.entityName = \"\";\r\n this.basePath = \"api/v2\";\r\n }\r\n\r\n public product(id):any {\r\n return this.getResources({router:'client/produto/' + id});\r\n }\r\n \r\n public createProduct(data):any {\r\n return this.createResource(data, {router:'loja/produto'});\r\n } \r\n\r\n public categories():any {\r\n return this.getResources({router:'client/categoria/' + this.global.clientID()});\r\n }\r\n\r\n public subCategories(category):any {\r\n return this.getResources({router:'client/subcategoria/' + this.global.clientID() + \"/\" + category});\r\n }\r\n\r\n public subCategoryProducts(id,page=null):any {\r\n let qryPage = null;\r\n if (page) {\r\n qryPage = \"page=\" + page;\r\n }\r\n return this.getResources({router:'client/showcasefilter/' + id, query: qryPage});\r\n } \r\n\r\n public mainProducts():any {\r\n return this.getResources({router:'client/produto/mais/vendidos/' + this.global.clientID()});\r\n }\r\n\r\n public getMyProducts():any {\r\n return this.getResources({router:'client/seller/' +this.global.loggedUser().id});\r\n }\r\n \r\n public spotlightProducts(page=null,search=\"\"):any {\r\n let qryPage = \"\";\r\n if (page) {\r\n qryPage = \"page=\" + page;\r\n }\r\n if (search != \"\") {\r\n if (qryPage != \"\") qryPage += \"&busca=\" + search;\r\n }\r\n return this.getResources({router:'client/showcase/' + this.global.clientID(), query: qryPage});\r\n }\r\n\r\n public order(id,orderData):any {\r\n return this.createResource(orderData,{router:'loja/pedido/' + id});\r\n }\r\n\r\n public searchCep(cep):any {\r\n return this.http.get('https://viacep.com.br/ws/'+cep+'/json/');\r\n }\r\n\r\n public checkUserExists(email):any{\r\n return this.getResources({router:'admin/verify/user?search='+email + '&client_id=' +this.global.clientID()});\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, Inject, Input, ViewChild, Output, EventEmitter, ElementRef } from '@angular/core';\r\nimport { Global, AsapService } from 'asap-crud';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { classToPlain } from 'class-transformer';\r\nimport { CdkStepper } from '@angular/cdk/stepper';\r\nimport { StreamService } from '../../services/stream.service';\r\nimport { ProductService } from '../../services/product.service';\r\nimport { ProductModel, FilesModel, FeedModel } from '../../models/feed.model';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { path } from '../../constants/constants';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\ndeclare var swal: any;\r\n\r\n@Component({\r\n selector: 'modal-announce',\r\n templateUrl: './modal-announce.component.html',\r\n styleUrls: ['./modal-announce.component.scss', '../../asap-feed.beta.componente.scss'],\r\n providers: [AsapService, Global, StreamService, ProductService]\r\n})\r\nexport class ModalAnnounceComponent implements OnInit {\r\n @Input() images;\r\n @ViewChild('file', { static: false }) file: ElementRef;\r\n @Output() published = new EventEmitter<boolean>(false);\r\n\r\n public category: any;\r\n public subCategory: any;\r\n public error = false;\r\n public entity: any = {}\r\n public newProduct: boolean = true;\r\n public newAdversing: any;\r\n public myProducts: any;\r\n public selectedProduct: any = {};\r\n public tempProductData: ProductModel;\r\n public tmpFileArray: Array<FilesModel>;\r\n public uploading: boolean;\r\n public uploadingVideo: boolean;\r\n public progress;\r\n public title;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<ModalAnnounceComponent>,\r\n public global: Global,\r\n public asapService: AsapService,\r\n public utilsService: UtilsService,\r\n public sanitizer: DomSanitizer,\r\n public streamService: StreamService,\r\n public productService: ProductService,\r\n public route: ActivatedRoute,\r\n public db: AngularFirestore,\r\n @Inject(MAT_DIALOG_DATA) public feed,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.tmpFileArray = [];\r\n this.progress = 0;\r\n this.newProduct = true;\r\n this.loadCategory();\r\n this.loadMyProducts();\r\n }\r\n\r\n close() {\r\n this.global.alert({\r\n title: 'Você quer mesmo fechar anúncio?',\r\n text: 'Você perderá todas as informações se confirmar...',\r\n type: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\"\r\n }).then(async confirm => {\r\n if (confirm.value) {\r\n this.dialogRef.close();\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n public defaults() {\r\n return {\r\n fotos: []\r\n }\r\n }\r\n\r\n public loadSubCategory(event) {\r\n this.productService.subCategories(this.entity.categoria_id).subscribe((response: any) => {\r\n this.subCategory = response;\r\n });\r\n }\r\n\r\n public addPicture(image) {\r\n this.entity.fotos.push({ img: image.path });\r\n }\r\n\r\n public delPicture(index) {\r\n // this.global.swal({\r\n // title: 'Remover imagem...',\r\n // text: \"Você deseja remover essa imagem!\",\r\n // type: 'warning',\r\n // showCancelButton: true,\r\n // confirmButtonText: 'Sim',\r\n // cancelButtonText: 'Não',\r\n // reverseButtons: true\r\n // }).then((result) => {\r\n // if (result.value) {\r\n // this.entity.fotos.splice(index,1);\r\n // }\r\n // })\r\n }\r\n\r\n public categoryName(id) {\r\n if (this.category) {\r\n let cat = this.category.find(item => item.id == id);\r\n if (cat) {\r\n return cat.name;\r\n }\r\n }\r\n return \"NÃO SELECIONADO\";\r\n }\r\n\r\n public subCategoryName(id) {\r\n if (this.subCategory) {\r\n let cat = this.subCategory.find(item => item.id == id);\r\n if (cat) {\r\n return cat.subCategory;\r\n }\r\n }\r\n return \"NÃO SELECIONADO\";\r\n }\r\n\r\n public onSave() {\r\n this.uploading = true;\r\n this.progress = 1;\r\n this.images = this.tmpFileArray;\r\n if (!this.newProduct) {\r\n this.addPostOnFeed();\r\n this.global.notification.success('Seu produto foi anunciado com Sucesso!');\r\n\r\n }\r\n else if (this.newProduct) {\r\n this.tempProductData = this.entity;\r\n this.entity.fotos = [];\r\n\r\n for (let index = 0; index < this.images.length; index++) {\r\n this.entity.fotos[index] = {\r\n img: this.images[index].url\r\n };\r\n\r\n }\r\n\r\n this.productService.createProduct(this.entity).subscribe((response: any) => {\r\n console.log('ResponseFeed');\r\n this.tempProductData.id = response.produto.data.id;\r\n this.addPostOnFeed();\r\n this.global.notification.success('Produto, cadastrado e anunciado com Sucesso');\r\n },\r\n\r\n (error: any) => {\r\n console.error('Erro', error);\r\n });\r\n }\r\n }\r\n\r\n public loadCategory() {\r\n this.productService.categories().subscribe((response: any) => {\r\n console.log('loadSubCategories', response);\r\n this.category = response.data;\r\n\r\n })\r\n }\r\n\r\n public loadSubCategories(id_categorie) {\r\n console.log('loadSubCategories', id_categorie);\r\n this.productService.subCategories(id_categorie).subscribe((response: any) => {\r\n this.subCategory = response;\r\n\r\n });\r\n }\r\n\r\n public loadMyProducts() {\r\n this.productService.getMyProducts().subscribe((response: any) => {\r\n console.log('MyPrid', response);\r\n this.myProducts = response.data.produtos.data;\r\n },\r\n (error: any) => {\r\n this.global.notification.error('Ocorreu um problema ao processar sua requisição, entre em contato com o Administrador do Sistema')\r\n })\r\n }\r\n\r\n public addPostOnFeed() {\r\n console.log('Owner', this);\r\n console.log('Data Feed', this.tempProductData);\r\n this.share();\r\n // const feedCollection = this.db.collection(path().feed);\r\n // const images = []; \r\n\r\n // for (let index = 0; index < this.images.length; index++) {\r\n // images[index] = {\r\n // type:'image',\r\n // url:this.images[index].url || this.images[index].img\r\n // };\r\n // }\r\n\r\n // const post = {\r\n // likes: 0,\r\n // isLiked: false,\r\n // user_info: this.global.loggedUser(),\r\n // updated_at: Date.now(),\r\n // title: data.produto,\r\n // product:{\r\n // data\r\n // },\r\n // type: 'announce',\r\n // files: images,\r\n // };\r\n\r\n // console.log('DATA', post);\r\n\r\n // feedCollection.add(post).then(res => {\r\n // this.db.doc(`feed/${res.id}`).update({ id: res.id });\r\n // });\r\n }\r\n\r\n share(): any {\r\n console.log('New Prodct 1', this.newProduct);\r\n const data: FeedModel = new FeedModel();\r\n data.product = (this.newProduct) ? this.tempProductData : this.selectedProduct;\r\n data.updated_at = Date.now();\r\n data.type = 'announce';\r\n console.log('Post Data', data);\r\n console.log('New Prodct', this.newProduct);\r\n\r\n if (this.newProduct) {\r\n\r\n data.title = '<b>' + data.product.produto + '</b>' + '<br><br>' + data.product.descr;\r\n data.product = this.tempProductData;\r\n\r\n if (this.tmpFileArray || this.tmpFileArray.length > 0) {\r\n console.log(2);\r\n data.files = this.tmpFileArray;\r\n console.log('FILES ------------>', data.files);\r\n const videoFilter = data.files.filter(tmp => this.getTypeByMimeType(tmp.type) === 'video');\r\n\r\n if (videoFilter.length > 0) {\r\n console.log(3);\r\n data.files[0].video_rendering = true;\r\n data.files[0].video_low_rendering = true;\r\n data.files[0].thumb_rendering = true;\r\n\r\n this.streamService.status(videoFilter[0].url).subscribe((res: any) => {\r\n data.files[0].video_rendering = !res.p480;\r\n data.files[0].video_low_rendering = !res.p480_low;\r\n data.files[0].thumb_rendering = !res.thumb;\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n else if (!this.newProduct) {\r\n data.title = '<b>' + data.product.produto + '</b>' + '<br><br>' + data.product.descr;\r\n if (data.product.fotos.length > 0) {\r\n for (let index = 0; index < data.product.fotos.length; index++) {\r\n console.log('Fotos ->', data.product.fotos[index]);\r\n data.product.fotos[index].url = data.product.fotos[index].img;\r\n data.product.fotos[index].type = 'image';\r\n delete data.product.fotos[index].img;\r\n data.files[index] = data.product.fotos[index];\r\n }\r\n\r\n if (data.files.length == data.product.fotos.length) {\r\n console.log('Fotos', data);\r\n }\r\n }\r\n\r\n }\r\n\r\n console.log('SHARE', data);\r\n this.publish(data);\r\n this.feed.owner.published.emit(true);\r\n\r\n }\r\n\r\n\r\n async uploadFile(event: any) {\r\n console.log('uploadFile(event)', event);\r\n for (const file of event.target.files) {\r\n console.log('Target Files', file);\r\n const fileGenerated = window.URL.createObjectURL(file);\r\n const fileSanitized = this.sanitizer.bypassSecurityTrustUrl(\r\n fileGenerated\r\n );\r\n\r\n const tmpFile: FilesModel = new FilesModel();\r\n tmpFile.type = this.getTypeByMimeType(file.type);\r\n tmpFile.status = 0;\r\n tmpFile.thumb_rendering = false;\r\n tmpFile.video_rendering = false;\r\n tmpFile.video_low_rendering = false;\r\n\r\n let error = false;\r\n\r\n if (\r\n this.getTypeByMimeType(file.type) === 'video' &&\r\n this.tmpFileArray.filter((tmp: any) => this.getTypeByMimeType(tmp.type) === 'video').length > 0\r\n ) {\r\n swal.fire('Ops...', 'Você só pode enviar 1 vídeo por postagem', 'error');\r\n error = true;\r\n }\r\n\r\n if (\r\n this.getTypeByMimeType(file.type) === 'image' &&\r\n this.tmpFileArray.filter((tmp: any) => this.getTypeByMimeType(tmp.type) === 'image').length > 8\r\n ) {\r\n swal.fire(\r\n 'Ops...',\r\n 'Você só pode enviar até 9 imagens por postagem',\r\n 'error'\r\n );\r\n error = true;\r\n }\r\n\r\n if (!error) {\r\n // this.uploading = true;\r\n\r\n if (this.getTypeByMimeType(file.type) === 'image') {\r\n if (file.type == 'image/gif') {\r\n tmpFile.name = `${this.utilsService.uid()}.gif`;\r\n tmpFile.url = await this.readGIF(file);\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n else {\r\n const getExtname = file.name.split('.');\r\n const extname = getExtname[getExtname.length - 1];\r\n\r\n tmpFile.url = await this.resizeImages(file, 800);\r\n tmpFile.name = `${this.utilsService.uid()}.${extname}`;\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n }\r\n else if (this.getTypeByMimeType(file.type) === 'video') {\r\n this.uploadingVideo = true;\r\n console.log('Realizar Upload de Video', tmpFile);\r\n let reader = event.target.files[0];\r\n if (reader) {\r\n let blobURL = this.sanitizer.bypassSecurityTrustResourceUrl(URL.createObjectURL(reader));\r\n tmpFile.name = blobURL as any;\r\n this.tmpFileArray.push(tmpFile);\r\n console.log('Result', blobURL);\r\n }\r\n this.streamService.uploadFile(file).subscribe(\r\n async response => {\r\n if (response['loaded']) {\r\n tmpFile.status = ((response['loaded'] * 100) / response['total']).toFixed(0) as any;\r\n }\r\n\r\n if (response['body']) {\r\n tmpFile.url = await response['body']['uuidVideo'];\r\n this.uploadingVideo = false;\r\n console.log('Pronto!', response);\r\n\r\n }\r\n }\r\n )\r\n }\r\n }\r\n }\r\n }\r\n\r\n resizeImages(file: any, width: number): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n const img = new Image();\r\n const MAX_WIDTH = width;\r\n\r\n let reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = (e: any) => {\r\n img.src = e.target.result;\r\n img.onload = () => {\r\n const scale = MAX_WIDTH / img.width;\r\n const canvas = document.createElement(\"canvas\");\r\n canvas.height = scale * img.height;\r\n canvas.width = MAX_WIDTH;\r\n let ctx = canvas.getContext(\"2d\");\r\n ctx.drawImage(img, 0, 0);\r\n\r\n console.log('IMG', img.width, img.height);\r\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\r\n\r\n let dataurl = canvas.toDataURL(file.type, 0.65);\r\n console.log('CANVAS ->', canvas.width, canvas.height);\r\n return resolve(dataurl);\r\n }\r\n }\r\n\r\n reader.onerror = reject;\r\n });\r\n\r\n }\r\n\r\n readGIF(file: any): Promise<any> {\r\n return new Promise((resolve, reject) => {\r\n\r\n let reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = (e: any) => {\r\n return resolve(reader.result);\r\n }\r\n\r\n reader.onerror = reject;\r\n });\r\n\r\n }\r\n\r\n getTypeByMimeType(mime: string): string {\r\n const split = mime.split('/');\r\n return split[0];\r\n }\r\n\r\n checkUploading(): boolean {\r\n const tmpFileUploading = this.tmpFileArray.filter((tmp: any) => tmp.url === '');\r\n return (tmpFileUploading.length > 0) ? true : false;\r\n }\r\n\r\n removeTmpFile(tmpFile: any): void {\r\n const index = this.tmpFileArray.indexOf(tmpFile);\r\n this.tmpFileArray.splice(index, 1);\r\n }\r\n\r\n checkIfHasEmbededVideo(value: string): any {\r\n if (value) {\r\n if (value.includes('vimeo')) {\r\n return { url: '//player.vimeo.com/video/' + value.split('/')[4] };\r\n } else if (value.includes('youtube')) {\r\n return { url: '//www.youtube.com/embed/' + value.split('=')[1] };\r\n } else {\r\n return value;\r\n }\r\n }\r\n }\r\n\r\n publish(data: FeedModel) {\r\n let image;\r\n\r\n console.log('Publish()', 1, data);\r\n this.uploading = true;\r\n this.progress = 0;\r\n\r\n\r\n let count = 0;\r\n data.user_info = {\r\n id: this.global.loggedUser().id,\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture,\r\n updated_at: Date.now()\r\n }\r\n\r\n if (this.tmpFileArray && this.tmpFileArray.length > 0) {\r\n console.log('this.tmpFileArray', this.getTypeByMimeType(this.tmpFileArray[0].type));\r\n console.log('Publish()', 2);\r\n const imagesFiles = this.tmpFileArray.filter(\r\n (tmp: any) => this.getTypeByMimeType(tmp.type) === 'image'\r\n );\r\n\r\n\r\n const step = 98 / imagesFiles.length;\r\n\r\n if (imagesFiles.length > 0) {\r\n console.log('Publish()', 3, imagesFiles)\r\n for (const file of imagesFiles) {\r\n setTimeout(() => {\r\n this.utilsService.uploadFile(`images/${file.name}`, file.url);\r\n this.utilsService.percentage.subscribe(percent => {\r\n console.log('TO RODANDO EIM', percent);\r\n file.status = percent;\r\n });\r\n\r\n this.utilsService.task.snapshotChanges().subscribe(\r\n async snap => {\r\n if (snap.bytesTransferred === snap.totalBytes) {\r\n count++;\r\n this.progress += step;\r\n console.log('PROGRESS', this.progress);\r\n const index = data.files.findIndex(item => item.name === file.name);\r\n if ((!image) && (data.files[index])) {\r\n this.utilsService.getFireStorageURL(`images/${data.files[index].name}`).subscribe((imageURL) => {\r\n image = imageURL;\r\n });\r\n\r\n }\r\n delete data.files[index].url;\r\n\r\n\r\n\r\n if (count == imagesFiles.length) {\r\n console.log('Criando Feed');\r\n\r\n const collection = this.db.collection(path().feed)\r\n collection.add(classToPlain(data)).then(response => {\r\n this.db.collection(path().feed).doc(response.id).update({ id: response.id });\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n\r\n console.log('Publish()', 4)\r\n console.log('Data ->', data);\r\n\r\n });\r\n }\r\n }\r\n },\r\n error => {\r\n console.error('Error', error);\r\n })\r\n });\r\n }\r\n }\r\n else {\r\n console.log('Publish()', 5)\r\n console.log(data, this.tmpFileArray)\r\n\r\n const collection = this.db.collection(path().feed)\r\n console.log('Data ->', data);\r\n collection.add(classToPlain(data)).then(response => {\r\n this.db.collection(path().feed).doc(response.id).update({ id: response.id });\r\n\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n })\r\n\r\n\r\n }\r\n }\r\n else {\r\n console.log('Publish()', 5);\r\n console.log(data, this.tmpFileArray);\r\n console.log('Data ->', data);\r\n const collection = this.db.collection(path().feed)\r\n collection.add(classToPlain(data)).then(response => {\r\n this.db.collection(path().feed).doc(response.id).update({ id: response.id });\r\n\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n })\r\n }\r\n\r\n\r\n console.log('Publish()', 0, path().feed);\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n this.dialogRef.close();\r\n this.global.toastService.show({\r\n title: 'Feito!',\r\n message: 'Seu post foi criado com sucesso',\r\n layout: 2\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Global } from 'asap-crud';\r\nimport { AsapFeedService } from '../services/asap-feed.service';\r\nimport { StreamService } from '../services/stream.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FilesModel, FeedModel } from '../models/feed.model';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { path } from '../constants/constants';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { classToPlain } from 'class-transformer';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ModalAnnounceComponent } from './modal-announce/modal-announce.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'feed-publication',\r\n templateUrl: './feed-publication.component.html',\r\n styleUrls: ['./feed-publication.component.scss', '../asap-feed.beta.componente.scss'],\r\n providers: [StreamService]\r\n})\r\nexport class FeedPublicationComponent implements OnInit {\r\n\r\n @Input() announce = false;\r\n @Output() feedCreated = new EventEmitter();\r\n\r\n\r\n public tmpFileArray: Array<FilesModel>;\r\n public uploading;\r\n public title = null;\r\n public progress;\r\n public notAnnounce;\r\n public newProduct;\r\n public ExpandImg;\r\n public type = 'post';\r\n public embedFile;\r\n public tmpEmbedFile;\r\n public videoSendedID;\r\n\r\n constructor(\r\n public global: Global,\r\n public feedService: AsapFeedService,\r\n public sanitizer: DomSanitizer,\r\n public streamService: StreamService,\r\n public utilsService: UtilsService,\r\n public db: AngularFirestore,\r\n public http: HttpClient,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.tmpFileArray = [];\r\n console.log('Prefix Publication ->', path().feed);\r\n }\r\n\r\n async uploadFile(event: any) {\r\n for (const file of event.target.files) {\r\n\r\n const tmpFile: FilesModel = new FilesModel();\r\n tmpFile.type = this.getTypeByMimeType(file.type);\r\n // tmpFile.status = 0;\r\n tmpFile.thumb_rendering = false;\r\n tmpFile.video_rendering = false;\r\n tmpFile.video_low_rendering = false;\r\n\r\n let error = false;\r\n if (this.getTypeByMimeType(file.type) === 'video' && this.tmpFileArray.filter((tmp: any) => this.getTypeByMimeType(tmp.type) === 'video').length > 0) {\r\n this.global.toastService.error({\r\n title: 'Ops',\r\n message: 'Você só pode enviar um vídeo por Post'\r\n });\r\n error = true;\r\n }\r\n\r\n if (this.getTypeByMimeType(file.type) === 'image' && this.tmpFileArray.filter((tmp: any) => this.getTypeByMimeType(tmp.type) === 'image').length > 4) {\r\n this.global.toastService.error({\r\n title: 'Ops',\r\n message: 'Você pode utilizar até no máximo 5 imagens no seu Post'\r\n });\r\n error = true;\r\n }\r\n\r\n if (!error) {\r\n // this.uploading = true;\r\n\r\n if (this.getTypeByMimeType(file.type) === 'image') {\r\n if (file.type == 'image/gif') {\r\n tmpFile.name = `${this.streamService.uid()}.gif`;\r\n tmpFile.url = await this.readGIF(file);\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n\r\n else {\r\n const getExtname = file.name.split('.');\r\n const extname = getExtname[getExtname.length - 1];\r\n\r\n tmpFile.url = await this.resizeImages(file, 800);\r\n tmpFile.name = `${this.streamService.uid()}.${extname}`;\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n }\r\n\r\n else if (this.getTypeByMimeType(file.type) === 'video') {\r\n this.uploading = true;\r\n console.log('Realizar Upload de Video', tmpFile);\r\n const reader = file;\r\n if (reader) {\r\n const blobURL = URL.createObjectURL(reader);\r\n tmpFile.name = blobURL as any;\r\n this.tmpFileArray.push(tmpFile);\r\n console.log('Result', blobURL);\r\n }\r\n\r\n this.uploading = true;\r\n await this.streamService.uploadFile(file).subscribe(\r\n response => {\r\n if (response['loaded']) {\r\n tmpFile.status = ((response['loaded'] * 100) / response['total']).toFixed(0) as any;\r\n this.progress = tmpFile.status;\r\n console.log('Response', tmpFile);\r\n }\r\n\r\n console.log('RESPONSE UPDLOAD ->', response);\r\n if (response.body && response.body.file) {\r\n tmpFile.url = response.body.file.secure_url;\r\n this.videoSendedID = tmpFile.url;\r\n this.uploading = false;\r\n this.progress = null;\r\n\r\n }\r\n }\r\n );\r\n console.log('tmpFile', tmpFile);\r\n }\r\n }\r\n }\r\n }\r\n\r\n resizeImages(file: any, width: number): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n const img = new Image();\r\n const MAX_WIDTH = width;\r\n const MAX_HEIGHT: any = 1334;\r\n\r\n const reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = (e: any) => {\r\n img.src = e.target.result;\r\n img.onload = () => {\r\n const scale = MAX_WIDTH / img.width;\r\n const canvas = document.createElement('canvas');\r\n canvas.height = scale * img.height;\r\n\r\n canvas.width = MAX_WIDTH;\r\n const ctx = canvas.getContext('2d');\r\n ctx.drawImage(img, 0, 0);\r\n\r\n console.log('IMG', img.width, img.height);\r\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\r\n\r\n const dataurl = canvas.toDataURL(file.type, 0.65);\r\n console.log('CANVAS ->', canvas.width, canvas.height);\r\n return resolve(dataurl);\r\n };\r\n };\r\n\r\n reader.onerror = reject;\r\n });\r\n\r\n }\r\n\r\n readGIF(file: any): Promise<any> {\r\n return new Promise((resolve, reject) => {\r\n\r\n const reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = (e: any) => {\r\n return resolve(reader.result);\r\n };\r\n\r\n reader.onerror = reject;\r\n });\r\n\r\n }\r\n\r\n getTypeByMimeType(mime: string): string {\r\n const split = mime.split('/');\r\n return split[0];\r\n }\r\n\r\n share(): any {\r\n const data: FeedModel = new FeedModel();\r\n data.updated_at = Date.now();\r\n data.title = this.title;\r\n data.type = this.type;\r\n\r\n if (this.tmpFileArray || this.tmpFileArray.length > 0) {\r\n data.files = this.tmpFileArray;\r\n // const videoFilter = data.files.filter(tmp => this.getTypeByMimeType(tmp.type) === 'video');\r\n // if (videoFilter.length > 0) {\r\n // }\r\n data.files.map(item => {\r\n if (item.type === 'video') {\r\n console.log('Existe um video no Feed', item);\r\n if (!item.isCloudinary) {\r\n item.video_rendering = false;\r\n item.video_low_rendering = false;\r\n item.thumb_rendering = false;\r\n\r\n // Setando o ID do Feed igual ao ID do vídeo\r\n data.ref = item.url;\r\n data.status = false;\r\n this.streamService.status(item.url).subscribe((res: any) => {\r\n item.video_rendering = !res.p480;\r\n item.video_low_rendering = !res.p480_low;\r\n item.thumb_rendering = !res.thumb;\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.publish(data);\r\n\r\n }\r\n\r\n publish(data: FeedModel) {\r\n let image;\r\n\r\n console.log('Publish()', 1, data);\r\n this.uploading = true;\r\n this.progress = 0;\r\n\r\n\r\n let count = 0;\r\n data.user_info = {\r\n id: this.global.loggedUser().id,\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture,\r\n updated_at: Date.now()\r\n };\r\n\r\n if (this.type == 'embed') {\r\n const fileEmbed: any = {\r\n name: this.embedFile,\r\n url: this.embedFile,\r\n type: 'embed'\r\n };\r\n\r\n this.tmpFileArray.push(fileEmbed);\r\n }\r\n\r\n if (this.type != 'embed') {\r\n if (this.tmpFileArray && this.tmpFileArray.length > 0) {\r\n console.log('this.tmpFileArray', this.getTypeByMimeType(this.tmpFileArray[0].type));\r\n console.log('Publish()', 2);\r\n const imagesFiles = this.tmpFileArray.filter(\r\n (tmp: any) => this.getTypeByMimeType(tmp.type) === 'image'\r\n );\r\n\r\n\r\n const step = 98 / imagesFiles.length;\r\n\r\n if (imagesFiles.length > 0) {\r\n console.log('Publish()', 3, imagesFiles);\r\n for (const file of imagesFiles) {\r\n setTimeout(() => {\r\n this.utilsService.uploadFile(`images/${file.name}`, file.url);\r\n this.utilsService.percentage.subscribe(percent => {\r\n console.log('TO RODANDO EIM', percent);\r\n file.status = percent;\r\n });\r\n\r\n this.utilsService.task.snapshotChanges().subscribe(\r\n async snap => {\r\n if (snap.bytesTransferred === snap.totalBytes) {\r\n count++;\r\n this.progress += step;\r\n console.log('PROGRESS', this.progress);\r\n const index = data.files.findIndex(item => item.name === file.name);\r\n if ((!image) && (data.files[index])) {\r\n this.utilsService.getFireStorageURL(`images/${data.files[index].name}`).subscribe((imageURL) => {\r\n image = imageURL;\r\n });\r\n\r\n }\r\n delete data.files[index].url;\r\n\r\n\r\n\r\n if (count == imagesFiles.length) {\r\n console.log('Criando Feed');\r\n\r\n const collection = this.db.collection(path().feed);\r\n collection.add(classToPlain(data)).then(response => {\r\n this.db.collection(path().feed).doc(response.id).update({ id: response.id });\r\n this.feedCreated.emit(response.id);\r\n });\r\n\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n\r\n console.log('Publish()', 4);\r\n }\r\n }\r\n },\r\n error => {\r\n console.error('Error', error);\r\n });\r\n });\r\n }\r\n }\r\n else {\r\n console.log('Publish()', 5);\r\n console.log(data, this.tmpFileArray);\r\n\r\n const collection = this.db.collection(path().feed);\r\n collection.add(classToPlain(data)).then(response => {\r\n this.db.collection(path().feed).doc(response.id).update({ id: response.id });\r\n this.feedCreated.emit(response.id);\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n });\r\n\r\n\r\n }\r\n }\r\n else {\r\n console.log('Publish()', 5);\r\n console.log(data, this.tmpFileArray);\r\n\r\n const collection = this.db.collection(path().feed);\r\n collection.add(classToPlain(data)).then(response => {\r\n this.db.collection(path().feed).doc(response.id).update({ id: response.id });\r\n this.feedCreated.emit(response.id);\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n });\r\n }\r\n }\r\n\r\n else {\r\n data.files = this.tmpFileArray;\r\n console.log('Publish(Embed)', 6);\r\n console.log(data, this.tmpFileArray);\r\n const collection = this.db.collection(path().feed);\r\n collection.add(classToPlain(data)).then(response => {\r\n const doc = this.db.collection(path().feed).doc(response.id);\r\n doc.update({ id: response.id });\r\n this.feedCreated.emit(response.id);\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n this.embedFile = null;\r\n this.type = 'post';\r\n });\r\n }\r\n\r\n\r\n console.log('Publish()', 0, path().feed);\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n this.global.toastService.show({\r\n title: 'Feito!',\r\n message: 'Seu post foi criado com sucesso',\r\n layout: 2\r\n });\r\n }\r\n\r\n removeTmpFile(tmpFile: any): void {\r\n const index = this.tmpFileArray.indexOf(tmpFile);\r\n this.tmpFileArray.splice(index, 1);\r\n }\r\n\r\n checkPublicationType(title) {\r\n console.log('Event ->', event);\r\n if (title.length > 35) {\r\n if (this.isValidUrl(title)) {\r\n console.log('checkPublicationType', title);\r\n if (title.includes('youtu') || title.includes('youtube')) {\r\n this.uploading = true;\r\n this.type = 'embed';\r\n this.uploading = false;\r\n this.embedFile = title.replace('watch?v=', 'embed/');\r\n this.tmpEmbedFile = this.sanitizer.bypassSecurityTrustResourceUrl(this.embedFile);\r\n }\r\n else if (title.includes('spotify')) {\r\n this.uploading = true;\r\n this.type = 'embed';\r\n this.embedFile = title.replace('/episode', '/embed-podcast/episode');\r\n this.tmpEmbedFile = this.sanitizer.bypassSecurityTrustResourceUrl(this.embedFile);\r\n this.uploading = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n removeEmbedFiles() {\r\n this.title = '';\r\n this.embedFile = '';\r\n this.type = 'post';\r\n }\r\n\r\n isValidUrl(str) {\r\n const pattern = new RegExp('^(https?:\\\\/\\\\/)?' + // protocol\r\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\r\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\r\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\r\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\r\n '(\\\\#[-a-z\\\\d_]*)?$', 'i'); // fragment locator\r\n return !!pattern.test(str);\r\n }\r\n\r\n openAnnounceModal() {\r\n const dialogRef = this.dialog.open(ModalAnnounceComponent, {\r\n width: '55%',\r\n minHeight: '95%',\r\n maxHeight: '100%',\r\n closeOnNavigation: false,\r\n disableClose: true,\r\n data: { owner: this, tmpFileArray: this.tmpFileArray }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Global, AsapBaseService } from 'asap-crud';\r\n\r\n@Injectable()\r\nexport class ChannelService extends AsapBaseService {\r\n\r\n public isSubscriber = false;\r\n\r\n constructor(\r\n public http: HttpClient,\r\n public global: Global\r\n ) {\r\n super(http);\r\n this.basePath = \"api/v2/admin\";\r\n this.entityName = \"channel\";\r\n this.isSubscriber = false;\r\n };\r\n\r\n public channelLibrary(search,page) {\r\n if (page == null) page = 1;\r\n return this.createResource({search:search},{router:\"videos\",query:\"page=\" + page});\r\n }\r\n\r\n public channeGrouplLibrary(search,page) {\r\n if (page == null) page = 1;\r\n return this.createResource({search:search},{router:\"videos\",query:\"page=\" + page +'&group'});\r\n }\r\n\r\n public fileLibrary(search,page) {\r\n if (page == null) page = 1;\r\n return this.createResource({search:search},{router:\"files\",query:\"page=\" + page});\r\n }\r\n\r\n public fileGroupLibrary(search,page) {\r\n if (page == null) page = 1;\r\n return this.createResource({search:search},{router:\"files\",query:\"page=\" + page+'&group'});\r\n }\r\n\r\n public subscribe(channel_id, callback = null) {\r\n this.createResource({},{router:\"subscribe/\" + channel_id}).subscribe(() => {\r\n this.global.notification.success('Pronto', 'Inscrição efetuada com sucesso!')\r\n this.isSubscriber = true;\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n public like(video_id, like = true, type = 'video') {\r\n let data:any;\r\n\r\n data = (like) ? {like: 1} : {unlike: 1};\r\n data.type = type;\r\n\r\n return this.createResource(data,{router: 'like/' + video_id});\r\n }\r\n\r\n public likev2(video_id, dados, type = 'video') {\r\n dados.type = type;\r\n return this.createResource(dados,{router: 'like/' + video_id});\r\n }\r\n \r\n\r\n public unsubscribe(channel_id, callback = null) {\r\n this.global.alert({\r\n type: \"warning\",\r\n text:\"Você realmente deseja cancelar sua inscrição?\",\r\n position: 'top-right',\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\"\r\n }).then(\r\n confirm => {\r\n if (confirm) {\r\n this.createResource({},{router:\"subscribe/\" + channel_id}).subscribe(() => {\r\n this.global.notification.info('Pronto', 'Você não está mais inscrito no Canal!')\r\n this.isSubscriber = false;\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n },\r\n cancel => {}\r\n );\r\n \r\n }\r\n\r\n public getPlaylists(user_id = null, type='home') {\r\n return this.getResources({router: 'playlist/' + user_id + '?type=' + type});\r\n }\r\n\r\n public getPlaylist(playlist_id, user_id) {\r\n return this.getResources({router: 'playlist/' + playlist_id + '/' + user_id});\r\n }\r\n\r\n public createPlaylist(playlist_name) {\r\n let data:any;\r\n data = {name:playlist_name}\r\n return this.createResource(data, {router: 'playlist'});\r\n }\r\n\r\n public deletePlaylist(playlist_id) {\r\n return this.deleteResource(playlist_id);\r\n }\r\n\r\n public addVideoPlaylist(video_id, playlist_id) {\r\n let data: any;\r\n data = {video_id: video_id};\r\n console.log('VideoID ->', data.video_id);\r\n console.log('playlist_id ->', playlist_id);\r\n return this.createResource(data, {router: 'playlist/'+playlist_id});\r\n }\r\n\r\n public updateChannel(data) {\r\n return this.updateResource(data);\r\n }\r\n}","import { Component, ViewChild, OnInit } from '@angular/core';\r\nimport { OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { Global } from 'asap-crud';\r\nimport { ChannelService } from '../services/channel.service';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\n\r\nimport SwiperCore, { Pagination, SwiperOptions } from 'swiper';\r\n\r\nSwiperCore.use([Pagination]);\r\n\r\n@Component({\r\n selector: 'app-stories',\r\n templateUrl: './stories.component.html',\r\n styleUrls: ['../asap-feed.beta.componente.scss', './stories.component.scss'],\r\n providers: [ChannelService]\r\n})\r\n\r\nexport class StoriesComponent implements OnInit {\r\n\r\n constructor(\r\n public _channelService: ChannelService,\r\n public global: Global,\r\n public db: AngularFirestore\r\n ) {\r\n\r\n }\r\n\r\n public channelArray: any;\r\n public loading = true;\r\n\r\n storiesOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: false,\r\n dots: false,\r\n navSpeed: 700,\r\n navText: ['', ''],\r\n nav: true,\r\n responsive: {\r\n 0: {\r\n items: 2.4,\r\n },\r\n 500: {\r\n items: 3.5,\r\n }\r\n }\r\n }\r\n\r\n config: SwiperOptions = {\r\n navigation: true,\r\n autoHeight: false,\r\n breakpoints: {\r\n '640': {\r\n slidesPerView: 2.4,\r\n slidesPerGroup: 2.4,\r\n spaceBetween: 10\r\n },\r\n '768': {\r\n slidesPerView: 3,\r\n slidesPerGroup: 3,\r\n spaceBetween: 10\r\n },\r\n '1024': {\r\n slidesPerView: 3.5,\r\n slidesPerGroup: 3.5,\r\n spaceBetween: 10\r\n }\r\n }\r\n };\r\n\r\n\r\n ngOnInit() {\r\n this.getChannels();\r\n }\r\n\r\n getChannels() {\r\n this._channelService.getResources({ query: 'type=recommended' }).subscribe((res: any) => {\r\n console.log('getChannels', res.data);\r\n this.channelArray = [];\r\n\r\n if (res.data.length) {\r\n do {\r\n this.channelArray = [\r\n ... this.channelArray,\r\n ...res.data\r\n ];\r\n } while (this.channelArray.length < 10)\r\n\r\n }\r\n\r\n this.channelArray.map(item => {\r\n this.getNotificationForChannels(item);\r\n });\r\n\r\n this.loading = false;\r\n // console.log('channelArray', this.channelArray);\r\n });\r\n }\r\n\r\n getNotificationForChannels(item) {\r\n let notification;\r\n if (this.global.loggedUser()) {\r\n\r\n const collection = this.db.collection('notifications', (ref: any) => {\r\n let query = ref.orderBy('viewed', 'asc')\r\n .orderBy('create_at', 'desc')\r\n .where('receiver_id', '==', this.global.loggedUser().id)\r\n .where('channel_id', '==', item.id.toString())\r\n .where('read', '==', false);\r\n return query;\r\n });\r\n\r\n collection.snapshotChanges().subscribe((notificationDoc) => {\r\n console.log('Notifications for Channels ->', notificationDoc);\r\n item.notifications = [];\r\n notificationDoc.map(data => {\r\n let notificationData: any = data.payload.doc.data();\r\n item.notifications.push(notificationData);\r\n });\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { AsapFeedBetaComponent } from './asap-feed-beta.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FeedItemComponent } from './feed-item/feed-item.component';\r\nimport { MomentModule } from 'ngx-moment';\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\nimport { AsapSkeletonModule } from 'asap-skeleton';\r\nimport { PipesModule } from './pipes/pipes.module';\r\nimport { NgxHmCarouselModule } from 'ngx-hm-carousel';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FeedCommentsComponent } from './feed-comments/feed-comments.component';\r\nimport { FeedActionsComponent } from './feed-actions/feed-actions.component';\r\nimport { FeedPublicationComponent } from './feed-publication/feed-publication.component';\r\nimport { FeedModalItemEditComponent } from './feed-publication/feed-modal-item-edit/feed-modal-item-edit.component';\r\nimport { UtilsService } from './services/utils.service';\r\nimport { StoriesComponent } from './stories/stories.component';\r\nimport { OwlModule } from 'ngx-owl-carousel';\r\nimport { CarouselModule } from 'ngx-owl-carousel-o';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ModalAnnounceComponent } from './feed-publication/modal-announce/modal-announce.component';\r\nimport { PopoverModule } from 'ngx-smart-popover';\r\nimport { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';\r\nimport { Global } from 'asap-crud';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { SwiperModule } from 'ngx-swiper-wrapper';\r\n\r\n// import { NgAisModule } from 'angular-instantsearch';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatMenuModule,\r\n MatListModule,\r\n MatCardModule,\r\n MatDialogModule,\r\n MatSelectModule,\r\n MatRadioModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n MatProgressBarModule,\r\n MatStepperModule,\r\n MomentModule,\r\n TranslateModule,\r\n InfiniteScrollModule,\r\n AsapSkeletonModule,\r\n PipesModule,\r\n NgxHmCarouselModule,\r\n OwlModule,\r\n CarouselModule,\r\n NgxSkeletonLoaderModule,\r\n PopoverModule,\r\n SwiperModule\r\n ],\r\n declarations: [\r\n AsapFeedBetaComponent,\r\n FeedItemComponent,\r\n FeedCommentsComponent,\r\n FeedActionsComponent,\r\n FeedPublicationComponent,\r\n FeedModalItemEditComponent,\r\n StoriesComponent,\r\n ModalAnnounceComponent\r\n ],\r\n exports: [\r\n AsapFeedBetaComponent,\r\n FeedItemComponent,\r\n TranslateModule\r\n ],\r\n entryComponents: [\r\n AsapFeedBetaComponent,\r\n FeedModalItemEditComponent,\r\n ModalAnnounceComponent\r\n ],\r\n providers: [\r\n UtilsService\r\n ]\r\n})\r\nexport class AsapFeedBetaModule {\r\n\r\n constructor(public global: Global) {\r\n console.log('[AsapFeedBetaModule]', new Date());\r\n this.global.getOrCreateSessionData('AsapMyPageModule.tabs',[]).push({\r\n label: 'Meus Posts',\r\n component: AsapFeedBetaComponent,\r\n condition: (component,type) => (this.global.loggedUser() && this.global.hasPermission('my-posts',type) && component.hasFeed),\r\n loading: (component) => component.loading\r\n });\r\n }\r\n}\r\n","import { Routes } from '@angular/router';\r\nimport { AsapFeedBetaComponent } from './asap-feed-beta.component';\r\n\r\nexport const AsapFeedBetaRoting: Routes = [\r\n {\r\n path: '',\r\n component: AsapFeedBetaComponent\r\n },\r\n {\r\n path: ':feed_id',\r\n component: AsapFeedBetaComponent\r\n }\r\n]"],"names":["Injectable","HttpClient","tslib_1.__values","Component","AngularFirestore","ActivatedRoute","Global","Input","HostListener","HttpRequest","HttpHeaders","AngularFireStorage","FirebaseApp","classToPlain","MatDialogRef","Inject","MAT_DIALOG_DATA","DomSanitizer","SwiperCore","Navigation","Pagination","MatDialog","ViewChild","Pipe","CurrencyPipe","NgModule","AsapService","TranslateService","tslib_1.__extends","Router","AsapBaseService","EventEmitter","Output","CommonModule","FormsModule","RouterModule","MatButtonModule","MatIconModule","MatMenuModule","MatListModule","MatCardModule","MatDialogModule","MatSelectModule","MatRadioModule","MatInputModule","MatTooltipModule","MatProgressBarModule","MatStepperModule","MomentModule","TranslateModule","InfiniteScrollModule","AsapSkeletonModule","NgxHmCarouselModule","OwlModule","CarouselModule","NgxSkeletonLoaderModule","PopoverModule","SwiperModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"asap-feed-beta.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://asap-feed-beta/lib/asap-feed-beta.service.ts","ng://asap-feed-beta/lib/constants/constants.ts","ng://asap-feed-beta/lib/services/asap-feed.service.ts","ng://asap-feed-beta/lib/asap-feed-beta.component.ts","ng://asap-feed-beta/lib/services/stream.service.ts","ng://asap-feed-beta/lib/models/feed.model.ts","ng://asap-feed-beta/lib/services/utils.service.ts","ng://asap-feed-beta/lib/feed-publication/feed-modal-item-edit/feed-modal-item-edit.component.ts","ng://asap-feed-beta/lib/feed-item/feed-item.component.ts","ng://asap-feed-beta/lib/pipes/stream.pipe.ts","ng://asap-feed-beta/lib/pipes/safe.pipe.ts","ng://asap-feed-beta/lib/pipes/currency.pipe.ts","ng://asap-feed-beta/lib/pipes/pipes.module.ts","ng://asap-feed-beta/lib/feed-comments/feed-comments.component.ts","ng://asap-feed-beta/lib/feed-actions/feed-actions.component.ts","ng://asap-feed-beta/lib/services/product.service.ts","ng://asap-feed-beta/lib/feed-publication/modal-announce/modal-announce.component.ts","ng://asap-feed-beta/lib/feed-publication/feed-publication.component.ts","ng://asap-feed-beta/lib/services/channel.service.ts","ng://asap-feed-beta/lib/stories/stories.component.ts","ng://asap-feed-beta/lib/asap-feed-beta.module.ts","ng://asap-feed-beta/lib/asap-feed-beta.routing.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AsapFeedBetaService {\r\n public announce = false;\r\n public publication = true;\r\n public stories = true;\r\n public query = null;\r\n public options = {};\r\n constructor() {\r\n console.log('[AsapFeedBetaService] ->', this);\r\n }\r\n}\r\n","const prefix = (localStorage.getItem('feed_prefix')) ? localStorage.getItem('feed_prefix') : '';\r\n\r\nexport function path() {\r\n return {\r\n images: `${prefix}images`,\r\n feed: `${prefix}feed`,\r\n likes: `${prefix}likes`,\r\n shareds: `${prefix}shareds`\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { path } from '../constants/constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AsapFeedService {\r\n public clientFirebaseServer = localStorage.getItem('firebase_server_id');\r\n private baseUrlAPI;\r\n private client_id;\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) {\r\n this.baseUrlAPI = `https://us-central1-${this.clientFirebaseServer}.cloudfunctions.net/api`;\r\n this.client_id = localStorage.getItem('client');\r\n }\r\n\r\n public getFeed(feed_id, user=null, query = null) {\r\n let limit = 6;\r\n let url;\r\n\r\n if (!query) {\r\n console.log('Not Query');\r\n url = `${this.baseUrlAPI}/mobile/feed/${feed_id}?limit=${limit}&feed_path=${path().feed}&client_id=${this.client_id}`\r\n }\r\n else if (query && query.searchBy && query.searchValue) {\r\n console.log('Query');\r\n url = `${this.baseUrlAPI}/mobile/feed/${feed_id}?limit=${limit}&searchBy=${query.searchBy}&searchValue=${query.searchValue}&feed_path=${path().feed}&client_id=${this.client_id}`\r\n }\r\n\r\n return this.http.post(url,{user: user});\r\n }\r\n\r\n public createFeed(data) {\r\n return this.http.post(`${this.baseUrlAPI}/feed?feed_path=${path().feed}&client_id=${this.client_id}`, data);\r\n }\r\n\r\n public getMoreFeed(limit, last_documment, user=null, query = null) {\r\n let url\r\n\r\n if (!query) {\r\n url = this.baseUrlAPI + `/mobile/feed?limit=${limit}&last_doc=${last_documment}&feed_path=${path().feed}&client_id=${this.client_id}`;\r\n }\r\n else if (query && query.searchBy && query.searchValue) {\r\n url = `${this.baseUrlAPI}/mobile/feed?limit=${limit}&last_doc=${last_documment}&searchBy=${query.searchBy}&searchValue=${query.searchValue}&feed_path=${path().feed}&client_id=${this.client_id}`\r\n }\r\n\r\n return this.http.post(url,{user: user});\r\n }\r\n\r\n public sendComment(feed_id, data) {\r\n return this.http.post(`${this.baseUrlAPI}/comment/${feed_id}`, data);\r\n }\r\n\r\n public deleteComment(feed_id, comment_id) {\r\n return this.http.delete(`${this.baseUrlAPI}/comment/${feed_id}/${comment_id}`);\r\n }\r\n\r\n public sendReplyComment(feed_id, comment_id, data) {\r\n return this.http.post(`${this.baseUrlAPI}/comment/reply/${feed_id}/${comment_id}`, data);\r\n }\r\n\r\n public deleteReplyComment(feed_id, comment_id, reply_id) {\r\n return this.http.delete(`${this.baseUrlAPI}/comment/reply/${feed_id}/${comment_id}/${reply_id}`);\r\n }\r\n\r\n public likeComment(feed_id, comment_id, data) {\r\n return this.http.post(`${this.baseUrlAPI}/comment/like/${feed_id}/${comment_id}`, data);\r\n }\r\n\r\n public likePost(feed_id, data) {\r\n return this.http.post(`${this.baseUrlAPI}/like/${feed_id}`, data);\r\n }\r\n\r\n public deleteLikeComment(feed_id, comment_id, like_id) {\r\n return this.http.delete(`${this.baseUrlAPI}/comment/like/${feed_id}/${comment_id}/${like_id}`);\r\n }\r\n\r\n public sendNotification(user_id, type, data) {\r\n console.log('[SendNotification] ->', user_id, type, data);\r\n return this.http.post(`${this.baseUrlAPI}/notification/${user_id}/${type}`, data);\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit, Input, HostListener, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { AsapFeedService } from './services/asap-feed.service';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AsapFeedBetaService } from './asap-feed-beta.service';\r\nimport { Global } from 'asap-crud';\r\n\r\n@Component({\r\n selector: 'asap-feed-beta',\r\n templateUrl: './asap-feed-beta.component.html',\r\n styles: ['./asap-feed.beta.componente.scss']\r\n})\r\nexport class AsapFeedBetaComponent implements OnInit, OnChanges {\r\n\r\n public hasFeed = true;\r\n public loading = true;\r\n\r\n @Input() id;\r\n\r\n public hasID = false;\r\n\r\n public stories = true;\r\n public announce = false;\r\n public publication = true;\r\n public query = null;\r\n public feedID;\r\n public feeds;\r\n public paginate;\r\n public topPosToStartShowing = 400;\r\n public showToTopButton = false;\r\n public isSinglePost = false;\r\n\r\n constructor(\r\n private feedService: AsapFeedService,\r\n public db: AngularFirestore,\r\n public route: ActivatedRoute,\r\n public controlService: AsapFeedBetaService,\r\n public global: Global,\r\n ) {\r\n this.loading = true;\r\n this.query = null;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.announce = this.controlService.announce;\r\n this.stories = this.controlService.stories;\r\n this.publication = this.controlService.publication;\r\n this.query = this.controlService.query;\r\n\r\n console.log('Query ->', this.query);\r\n\r\n this.route.params.subscribe(param => {\r\n console.log('Params ->', param);\r\n if (param) {\r\n if (param.feed_id) {\r\n this.feedID = param.feed_id;\r\n this.isSinglePost = true;\r\n\r\n setTimeout(() => {\r\n this.getFeed(this.feedID);\r\n }, 600);\r\n }\r\n else {\r\n this.getFeed();\r\n }\r\n }\r\n });\r\n this.checkFeedChange();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n console.log('HasChanges ->', changes);\r\n\r\n if (changes.feedID) {\r\n console.log('HasChanges [feedID]->', changes.feedID);\r\n setTimeout(() => {\r\n this.getFeed(this.feedID);\r\n }, 600);\r\n }\r\n\r\n if (changes.id) {\r\n if (this.id) {\r\n this.hasID = true;\r\n if (!this.controlService.query) this.controlService.query = {};\r\n this.controlService.query.searchBy = 'user_info.id';\r\n this.controlService.query.searchValue = this.id + '&typeValue=number';\r\n }\r\n }\r\n }\r\n\r\n public getFeed(feed_id = '') {\r\n console.log('[getFeed] Query', this.query);\r\n this.feedService.getFeed(feed_id, this.global.loggedUser(), this.query).subscribe((response: any) => {\r\n this.feeds = response.data;\r\n console.log('Feeds', this.feeds);\r\n this.paginate = response.pagination;\r\n this.loading = false;\r\n this.hasFeed = (this.feeds.length > 0);\r\n });\r\n }\r\n\r\n public getMore() {\r\n console.log('[getMore]', this.paginate.next_document);\r\n if (this.paginate.next_document) {\r\n this.loading = true;\r\n this.feedService.getMoreFeed(5, this.paginate.next_document, this.global.loggedUser(), this.query).subscribe((response: any) => {\r\n response.data.map(item => {\r\n if (this.permitted(item)) {\r\n this.feeds.push(item);\r\n }\r\n });\r\n\r\n this.paginate = response.pagination;\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n\r\n public checkFeedChange() {\r\n // const collection = this.db.collection(path().feed, ref => {\r\n // return ref.orderBy('updated_at', 'desc');\r\n // });\r\n\r\n // collection.snapshotChanges().subscribe(response => {\r\n // console.log(\"[checkFeedChange]\",response);\r\n // if (response) {\r\n // setTimeout(() => {\r\n // console.log(\"[checkFeedChange]\")\r\n // this.getFeed(this.feedID);\r\n // }, 600);\r\n // }\r\n // })\r\n }\r\n\r\n @HostListener('window:scroll')\r\n checkScroll() {\r\n const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n if (scrollPosition >= this.topPosToStartShowing) {\r\n this.showToTopButton = true;\r\n } else {\r\n this.showToTopButton = false;\r\n }\r\n }\r\n\r\n gotoTop() {\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }\r\n\r\n permitted(post) {\r\n if (post.permission) {\r\n if (post.permission.length > 0) {\r\n let result = false;\r\n const user = this.global.loggedUser();\r\n if (user) {\r\n if (post.user_info && post.user_info.id == user.id) {\r\n result = true;\r\n }\r\n else if (user.extras) {\r\n const extras = user.extras[0];\r\n for (const perm of post.permission) {\r\n if ((perm.field == 'multi-conta') && (perm.value == user.client_id)) {\r\n result = true;\r\n break;\r\n }\r\n else if (extras[perm.field] == perm.value) {\r\n result = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n public onNewFeed(id) {\r\n console.log('[onNewFeed]', id);\r\n this.feedService.getFeed(id).subscribe((response: any) => {\r\n let index = this.feeds.length;\r\n\r\n for (const feed of response.data) {\r\n feed.focus = true;\r\n }\r\n\r\n for (const feed of this.feeds) {\r\n feed.focus = false;\r\n }\r\n\r\n for (let i = 0; i < this.feeds.length; i++) {\r\n console.log('[onNewFeed] Feed', this.feeds[i]);\r\n if (!this.feeds[i].isHighlighted) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n\r\n this.feeds = [\r\n ... this.feeds.slice(0, index),\r\n ... response.data,\r\n ... this.feeds.slice(index)\r\n ];\r\n\r\n setTimeout(() => {\r\n const el = document.getElementsByClassName('focus-on-me')[0];\r\n el.scrollIntoView({ behavior: 'smooth' });\r\n }, 500);\r\n\r\n });\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class StreamService {\r\n\r\n public streamVideoPath: string;\r\n\r\n constructor(public http: HttpClient) {\r\n if (localStorage.getItem('loggedUser')) {\r\n const session = JSON.parse(localStorage.getItem('loggedUser'));\r\n this.streamVideoPath = (session.data.link_company) ? session.data.link_company : session.data.link;\r\n console.log('streamVideoPath', this.streamVideoPath);\r\n }\r\n }\r\n\r\n private getHeaders() {\r\n let headers = {\r\n 'Accept': 'application/json'\r\n };\r\n if (localStorage.getItem('token')) {\r\n headers['Authorization'] = localStorage.getItem('token');\r\n }\r\n return headers;\r\n }\r\n\r\n public status(id: string): any {\r\n return this.http.get(this.streamVideoPath + 'videos/' + id, { headers: this.getHeaders() });\r\n }\r\n\r\n public uploadFile(data: any): any {\r\n const formData: FormData = new FormData();\r\n formData.append('file', data);\r\n\r\n const req = new HttpRequest('POST', 'http://api.tecnologiaasap.com.br/api/cloudinary/upload', formData, {\r\n reportProgress: true,\r\n responseType: 'json',\r\n headers: new HttpHeaders(this.getHeaders())\r\n });\r\n\r\n console.log('RESPONSE UPLOAD', req);\r\n return this.http.request(req);\r\n }\r\n\r\n uid() {\r\n return this.s4() + this.s4() + '-' + this.s4() + '-' + this.s4() + '-' +\r\n this.s4() + '-' + this.s4() + this.s4() + this.s4();\r\n }\r\n\r\n s4() {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n }\r\n\r\n}\r\n","export class UserInfo {\r\n id: number = null;\r\n name: string = null;\r\n updated_at: any = null;\r\n picture: string = null;\r\n}\r\n\r\nexport class ProductModel {\r\n cod: number = null;\r\n descr: string = null;\r\n hashtag: string = null;\r\n id: number = null;\r\n produto: string = null;\r\n parcela: string = null;\r\n qtdMinimo: number = null;\r\n valorAte: number = null;\r\n valorDe: number = null;\r\n adaptation: string = null;\r\n desconto: number = null;\r\n fotos = [];\r\n}\r\n\r\nexport class FilesModel {\r\n url: string = null;\r\n type: string = null;\r\n status: number = 1;\r\n thumb_rendering = false;\r\n video_rendering = false;\r\n video_low_rendering = false;\r\n name: string = null;\r\n isCloudinary:boolean = false;\r\n}\r\n\r\nexport class FilesModelEdit {\r\n url: string = null;\r\n type: string = null;\r\n status: number = null;\r\n thumb_rendering = false;\r\n video_rendering = false;\r\n video_low_rendering = false;\r\n name: string = null;\r\n new:boolean = true\r\n}\r\n\r\nexport class FeedModel {\r\n id: string = null;\r\n ref: string = null;\r\n status: boolean = true;\r\n product: ProductModel = new ProductModel();\r\n type: string = 'post';\r\n source: string = 'web';\r\n likes = 0;\r\n shareds = 0;\r\n user_info: UserInfo = new UserInfo();\r\n updated_at: any = null;\r\n title: string = null;\r\n files: Array<FilesModel> = [];\r\n}","import { Injectable } from '@angular/core';\r\nimport { AngularFireStorage, AngularFireUploadTask } from '@angular/fire/storage';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { FirebaseApp } from '@angular/fire';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { AsapFeedService } from './asap-feed.service';\r\nimport { Global } from 'asap-crud';\r\n\r\n@Injectable()\r\n\r\nexport class UtilsService {\r\n\r\n public percentage: Observable<number>;\r\n public task: AngularFireUploadTask;\r\n public snapshot: Observable<any>;\r\n public lastDoc;\r\n\r\n constructor(\r\n public firebaseStorage: AngularFireStorage,\r\n public db: AngularFirestore,\r\n public firebase: FirebaseApp,\r\n public feedService:AsapFeedService,\r\n public global: Global\r\n ) { }\r\n\r\n public uploadFile(fileName: string, base64: string) {\r\n console.log('TO SUBINDO', fileName);\r\n try {\r\n let correctBase64 = base64;\r\n const ref = this.firebaseStorage.ref(fileName);\r\n this.task = ref.putString(correctBase64, 'data_url');\r\n this.percentage = this.task.percentageChanges();\r\n this.snapshot = this.task.snapshotChanges();\r\n } catch (error) {\r\n console.log(`ERRO DO SUBINDO`, error);\r\n }\r\n }\r\n\r\n getFireStorageURL(id: string) {\r\n return this.firebaseStorage.ref(id).getDownloadURL();\r\n }\r\n\r\n async deleteFireStorage(id: string) {\r\n return await this.firebaseStorage.ref(id).delete().toPromise();\r\n }\r\n\r\n uid() {\r\n return this.s4() + this.s4() + '-' + this.s4() + '-' + this.s4() + '-' +\r\n this.s4() + '-' + this.s4() + this.s4() + this.s4();\r\n }\r\n\r\n s4() {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n }\r\n\r\n isUrl(s: string): boolean {\r\n const regexp = /[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/;\r\n return regexp.test(s);\r\n }\r\n\r\n public sendNotification(data, user_destination, type) {\r\n\r\n console.log('Destinatario', user_destination);\r\n console.log('Remetente', this.global.loggedUser());\r\n\r\n if (user_destination.id != this.global.loggedUser().id) {\r\n this.feedService.sendNotification(user_destination.id,type, data).subscribe( response => {\r\n console.log('Retorno Notificacao', response);\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { Global } from 'asap-crud';\r\nimport { FilesModel, FeedModel, FilesModelEdit } from '../../models/feed.model';\r\nimport { StreamService } from '../../services/stream.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { classToPlain } from 'class-transformer';\r\nimport { path } from '../../constants/constants';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'lib-feed-modal-item-edit',\r\n templateUrl: './feed-modal-item-edit.component.html',\r\n styleUrls: ['../../asap-feed.beta.componente.scss','./feed-modal-item-edit.component.scss',],\r\n providers: [StreamService]\r\n})\r\nexport class FeedModalItemEditComponent implements OnInit {\r\n\r\n public showAnnouncePublication = false;\r\n public notAnnounce;\r\n public openAnnounceModal;\r\n public newProduct;\r\n public ExpandImg;\r\n // \r\n public title;\r\n public tmpFileArray: Array<FilesModelEdit>;\r\n public progress;\r\n public uploading;\r\n public type;\r\n public videoSendedID;\r\n public embedFile;\r\n public tmpEmbedFile;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<FeedModalItemEditComponent>,\r\n @Inject(MAT_DIALOG_DATA) public item,\r\n public global: Global,\r\n public streamService: StreamService,\r\n public sanitizer: DomSanitizer,\r\n public utilsService: UtilsService,\r\n public db: AngularFirestore\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.item) {\r\n this.title = this.item.title;\r\n this.type = this.item.type;\r\n this.tmpFileArray = this.item.files;\r\n console.log('Feed Modal ->', this.item);\r\n }\r\n }\r\n\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n\r\n async uploadFile(event: any) {\r\n for (const file of event.target.files) {\r\n\r\n const tmpFile: FilesModelEdit = new FilesModelEdit();\r\n tmpFile.type = this.getTypeByMimeType(file.type);\r\n tmpFile.status = 0;\r\n tmpFile.thumb_rendering = false;\r\n tmpFile.video_rendering = false;\r\n tmpFile.video_low_rendering = false;\r\n\r\n let error = false;\r\n if (this.getTypeByMimeType(file.type) === 'video' && this.tmpFileArray.filter((tmp: any) => this.getTypeByMimeType(tmp.type) === 'video').length > 0) {\r\n this.global.toastService.error({\r\n title: 'Ops',\r\n message: 'Você só pode enviar um vídeo por Post'\r\n });\r\n error = true;\r\n }\r\n\r\n if (this.getTypeByMimeType(file.type) === 'image' && this.tmpFileArray.filter((tmp: any) => this.getTypeByMimeType(tmp.type) === 'image').length > 4) {\r\n this.global.toastService.error({\r\n title: 'Ops',\r\n message: 'Você pode utilizar até no máximo 5 imagens no seu Post'\r\n });\r\n error = true;\r\n }\r\n\r\n if (!error) {\r\n console.log('File Sended',file);\r\n // **********************************************\r\n // !file.name.includes('firebasestorage')\r\n // Este trecho de código, verifica se o arquivo que está no tmpFileArray já foi enviado para evitar\r\n // o reenvio\r\n // ***********************************************\r\n if (this.getTypeByMimeType(file.type) === 'image' && !file.new) {\r\n console.log('File do Upload ->', file);\r\n if (file.type == 'image/gif') {\r\n tmpFile.url = `${this.streamService.uid()}.gif`;\r\n tmpFile.name = await this.readGIF(file);\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n\r\n else {\r\n const getExtname = file.name.split('.');\r\n const extname = getExtname[getExtname.length - 1];\r\n\r\n tmpFile.url = `${this.streamService.uid()}.${extname}`;\r\n tmpFile.name = await this.resizeImages(file, 800);\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n }\r\n\r\n else if (this.getTypeByMimeType(file.type) === 'video' && !file.new) {\r\n this.uploading = true;\r\n console.log('Realizar Upload de Video', tmpFile);\r\n let reader = file\r\n if (reader) {\r\n let blobURL = URL.createObjectURL(reader);\r\n tmpFile.name = blobURL as any;\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n\r\n this.uploading = true;\r\n await this.streamService.uploadFile(file).subscribe(\r\n response => {\r\n if (response['loaded']) {\r\n tmpFile.status = ((response['loaded'] * 100) / response['total']).toFixed(0) as any;\r\n this.progress = tmpFile.status;\r\n console.log('Response', tmpFile);\r\n }\r\n\r\n if (response['body']) {\r\n tmpFile.url = response['body']['uuidVideo'];\r\n this.videoSendedID = tmpFile.url;\r\n this.uploading = false;\r\n this.progress = null;\r\n\r\n }\r\n }\r\n )\r\n console.log('tmpFile', tmpFile);\r\n }\r\n }\r\n }\r\n }\r\n\r\n share(): any {\r\n let data = null;\r\n data = this.item;\r\n delete data.likes;\r\n delete data.comments;\r\n data.title = this.title;\r\n\r\n\r\n if (this.tmpFileArray || this.tmpFileArray.length > 0) {\r\n data.files = this.tmpFileArray;\r\n data.files.map(item => {\r\n if (item.type === 'video' && !item.video_rendering) {\r\n console.log('Existe um video no Feed', item);\r\n item.video_rendering = false;\r\n item.video_low_rendering = false;\r\n item.thumb_rendering = false;\r\n\r\n // Setando o ID do Feed igual ao ID do vídeo\r\n data.ref = item.url;\r\n data.status = false;\r\n this.streamService.status(item.url).subscribe((res: any) => {\r\n item.video_rendering = !res.p480;\r\n item.video_low_rendering = !res.p480_low;\r\n item.thumb_rendering = !res.thumb;\r\n });\r\n }\r\n })\r\n }\r\n\r\n this.publish(data);\r\n\r\n }\r\n\r\n public publish(data: FeedModel) {\r\n let count = 0;\r\n if (this.type == 'embed') {\r\n let fileEmbed: any = {\r\n name: this.embedFile,\r\n url: this.embedFile,\r\n type: 'embed'\r\n }\r\n\r\n this.tmpFileArray.push(fileEmbed);\r\n }\r\n if (this.tmpFileArray && this.tmpFileArray.length > 0) {\r\n const images = this.tmpFileArray.filter(\r\n (image: any) => this.getTypeByMimeType(image.type) === 'image' && image.new\r\n );\r\n\r\n const step = 98 / images.length;\r\n\r\n if (images && images.length > 0) {\r\n console.log('Imagens para Publicar ->', images);\r\n\r\n for (const image of images) {\r\n console.log('Imagem ->', image);\r\n\r\n setTimeout(() => {\r\n this.utilsService.uploadFile(`images/${image.url}`, image.name);\r\n\r\n this.utilsService.percentage.subscribe(percent => {\r\n image.status = percent;\r\n image.name = image.url;\r\n });\r\n\r\n this.utilsService.task.snapshotChanges().subscribe(\r\n async snap => {\r\n if (snap.bytesTransferred === snap.totalBytes) {\r\n count++;\r\n this.progress += step;\r\n const index = data.files.findIndex(item => item.name === image.name);\r\n\r\n this.utilsService.getFireStorageURL(`images/${data.files[index].name}`).subscribe((imageURL) => {\r\n console.log('Image File Url ->', imageURL);\r\n data.files[index].name = imageURL;\r\n });\r\n\r\n delete data.files[index].url;\r\n\r\n if (count == images.length) {\r\n console.log('Imagens Pos Processaento ->', data.files);\r\n const collection = this.db.collection(path().feed).doc(this.item.id)\r\n collection.update(classToPlain(data)).then( response => {\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n this.close();\r\n });\r\n }\r\n }\r\n });\r\n })\r\n }\r\n }\r\n else {\r\n const collection = this.db.collection(path().feed).doc(this.item.id);\r\n collection.update(classToPlain(data)).then( response => {\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n this.close();\r\n });\r\n }\r\n }\r\n else {\r\n const collection = this.db.collection(path().feed).doc(this.item.id);\r\n collection.update(classToPlain(data)).then( response => {\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n this.close();\r\n });\r\n }\r\n }\r\n\r\n // publish(data: FeedModel) {\r\n // let image;\r\n\r\n // console.log('Publish()', 1, data);\r\n // this.uploading = true;\r\n // this.progress = 0;\r\n\r\n\r\n // let count = 0;\r\n\r\n // if (this.type == 'embed') {\r\n // let fileEmbed: any = {\r\n // name: this.embedFile,\r\n // url: this.embedFile,\r\n // type: 'embed'\r\n // }\r\n\r\n // this.tmpFileArray.push(fileEmbed);\r\n // }\r\n\r\n // if (this.type != 'embed') {\r\n // if (this.tmpFileArray && this.tmpFileArray.length > 0) {\r\n\r\n // const imagesFiles = this.tmpFileArray.filter(\r\n // (tmp: any) => this.getTypeByMimeType(tmp.type) === 'image'\r\n // );\r\n\r\n\r\n // const step = 98 / imagesFiles.length;\r\n\r\n // if (imagesFiles.length > 0) {\r\n // console.log('Publish()', 3, imagesFiles)\r\n // for (const file of imagesFiles) {\r\n // if (file.new) {\r\n // setTimeout(() => {\r\n // this.utilsService.uploadFile(`images/${file.url}`, file.name);\r\n // this.utilsService.percentage.subscribe(percent => {\r\n // file.status = percent;\r\n // // file.name = file.url;\r\n // delete file.new;\r\n // console.log(\"File\", file);\r\n // });\r\n\r\n // this.utilsService.task.snapshotChanges().subscribe(\r\n // async snap => {\r\n // if (snap.bytesTransferred === snap.totalBytes) {\r\n // count++;\r\n // this.progress += step;\r\n // console.log('PROGRESS', this.progress);\r\n // const index = data.files.findIndex(item => item.url === file.url);\r\n\r\n // if ((!image) && (data.files[index])) {\r\n // this.utilsService.getFireStorageURL(`images/${data.files[index].url}`).subscribe((imageURL) => {\r\n // image = imageURL;\r\n // });\r\n\r\n // }\r\n\r\n // data.files[index].name = data.files[index].url;\r\n\r\n\r\n // console.log('Data Files ->',data.files);\r\n // if (count == imagesFiles.length) {\r\n\r\n // const collection = this.db.collection(path().feed).doc(this.item.id)\r\n // collection.update(classToPlain(data));\r\n\r\n // this.title = '';\r\n // this.progress = null;\r\n // this.uploading = null;\r\n // this.tmpFileArray = [];\r\n\r\n // console.log('Publish()', 4)\r\n // }\r\n // }\r\n // },\r\n // error => {\r\n // console.error('Error', error);\r\n // })\r\n // });\r\n // }\r\n // }\r\n // }\r\n // else {\r\n // console.log('Publish()', 5)\r\n // console.log(data)\r\n\r\n // const collection = this.db.collection(path().feed).doc(this.item.id);\r\n // collection.update(classToPlain(data));\r\n\r\n // this.title = '';\r\n // this.progress = null;\r\n // this.uploading = null;\r\n // this.tmpFileArray = [];\r\n\r\n\r\n\r\n // }\r\n // }\r\n // else {\r\n // console.log('Publish()', 5);\r\n // console.log(data);\r\n\r\n // const collection = this.db.collection(path().feed).doc(this.item.id);\r\n // collection.update(classToPlain(data));\r\n\r\n // this.title = '';\r\n // this.progress = null;\r\n // this.uploading = null;\r\n // this.tmpFileArray = [];\r\n // }\r\n // }\r\n\r\n // else {\r\n // data.files = this.tmpFileArray;\r\n\r\n // console.log('Publish(Embed)', 6);\r\n // console.log(data);\r\n\r\n // const collection = this.db.collection(path().feed).doc(this.item.id);\r\n // collection.update(classToPlain(data));\r\n\r\n // this.title = '';\r\n // this.progress = null;\r\n // this.uploading = null;\r\n // this.tmpFileArray = [];\r\n // }\r\n\r\n\r\n // console.log('Publish()', 0, path().feed);\r\n\r\n // const collection = this.db.collection(path().feed).doc(this.item.id); \r\n // collection.update(classToPlain(data));\r\n\r\n // this.title = '';\r\n // this.progress = null;\r\n // this.uploading = null;\r\n // this.tmpFileArray = [];\r\n // this.global.toast('Publicação criada com sucesso.')\r\n // this.close();\r\n // }\r\n\r\n getTypeByMimeType(mime: string): string {\r\n const split = mime.split('/');\r\n return split[0];\r\n }\r\n\r\n resizeImages(file: any, width: number): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n const img = new Image();\r\n const MAX_WIDTH = width;\r\n const MAX_HEIGHT: any = 1334;\r\n\r\n let reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = (e: any) => {\r\n img.src = e.target.result;\r\n img.onload = () => {\r\n const scale = MAX_WIDTH / img.width;\r\n const canvas = document.createElement(\"canvas\");\r\n canvas.height = scale * img.height;\r\n\r\n canvas.width = MAX_WIDTH;\r\n let ctx = canvas.getContext(\"2d\");\r\n ctx.drawImage(img, 0, 0);\r\n\r\n console.log('IMG', img.width, img.height);\r\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\r\n\r\n let dataurl = canvas.toDataURL(file.type, 0.65);\r\n console.log('CANVAS ->', canvas.width, canvas.height);\r\n return resolve(dataurl);\r\n }\r\n }\r\n\r\n reader.onerror = reject;\r\n });\r\n\r\n }\r\n\r\n readGIF(file: any): Promise<any> {\r\n return new Promise((resolve, reject) => {\r\n\r\n let reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = (e: any) => {\r\n return resolve(reader.result);\r\n }\r\n\r\n reader.onerror = reject;\r\n });\r\n\r\n }\r\n\r\n removeTmpFile(tmpFile: any): void {\r\n const index = this.tmpFileArray.indexOf(tmpFile);\r\n this.tmpFileArray.splice(index, 1);\r\n }\r\n\r\n checkPublicationType(title) {\r\n console.log('Event ->', event);\r\n if (title.length > 35) {\r\n if (this.isValidUrl(title)) {\r\n console.log('checkPublicationType', title);\r\n if (title.includes('youtube')) {\r\n this.tmpFileArray = [];\r\n this.uploading = true;\r\n this.type = 'embed';\r\n this.uploading = false;\r\n this.embedFile = title.replace('watch?v=', 'embed/');\r\n this.tmpEmbedFile = this.sanitizer.bypassSecurityTrustResourceUrl(this.embedFile);\r\n }\r\n else if (title.includes('spotify')) {\r\n this.tmpFileArray = [];\r\n this.uploading = true;\r\n this.type = 'embed';\r\n this.embedFile = title.replace('/episode', '/embed-podcast/episode');\r\n this.tmpEmbedFile = this.sanitizer.bypassSecurityTrustResourceUrl(this.embedFile);\r\n this.uploading = false;\r\n }\r\n\r\n let fileEmbed: any = {\r\n name: this.embedFile,\r\n url: this.embedFile,\r\n type: 'embed'\r\n }\r\n\r\n this.tmpFileArray.push(fileEmbed);\r\n }\r\n }\r\n }\r\n\r\n removeEmbedFiles() {\r\n this.title = \"\";\r\n this.embedFile = \"\";\r\n this.type = \"post\";\r\n this.tmpFileArray = [] \r\n }\r\n\r\n isValidUrl(str) {\r\n var pattern = new RegExp('^(https?:\\\\/\\\\/)?' + // protocol\r\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\r\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\r\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\r\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\r\n '(\\\\#[-a-z\\\\d_]*)?$', 'i'); // fragment locator\r\n return !!pattern.test(str);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';\r\nimport { StreamService } from '../services/stream.service';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { Global } from 'asap-crud';\r\nimport { FeedModalItemEditComponent } from '../feed-publication/feed-modal-item-edit/feed-modal-item-edit.component';\r\nimport { path } from '../constants/constants';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\nimport SwiperCore, { Navigation, Pagination } from 'swiper';\r\nSwiperCore.use([Navigation, Pagination]);\r\n\r\n@Component({\r\n selector: 'app-feed-item',\r\n templateUrl: './feed-item.component.html',\r\n styleUrls: ['../asap-feed.beta.componente.scss', './feed-item.component.scss'],\r\n providers: [ StreamService ]\r\n})\r\nexport class FeedItemComponent implements OnInit {\r\n\r\n @Input() item;\r\n @Input() owner;\r\n public currentIndex;\r\n public imageLoaded = false;\r\n public imageDataLoaded = false;\r\n public currentCarrouselIndex;\r\n public blurBackgroundIndex = Math.floor((Math.random() * 5) + 1);\r\n @ViewChild('videoPlayer', { static: true }) videoplayer: ElementRef\r\n\r\n constructor(\r\n public streamService: StreamService,\r\n public db: AngularFirestore,\r\n public global: Global,\r\n public dialog: MatDialog,\r\n public service: UtilsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n \r\n if (this.item.files && this.item.files.length > 0) {\r\n this.item.files.map(feed => {\r\n if (feed.url && feed.url.includes('youtube')) {\r\n feed.isYoutube = true;\r\n let youtubeID = this.getYoutubeID(feed.url);\r\n feed.url = `https://www.youtube.com/embed/${youtubeID}`;\r\n }\r\n })\r\n }\r\n\r\n // console.log('ITEM ->', this.item);\r\n }\r\n\r\n public onloadImage(event) {\r\n // console.log('Event onloadImage ->', event);\r\n this.imageLoaded = true;\r\n this.imageDataLoaded = true;\r\n }\r\n\r\n public onErrorImage(event) {\r\n // console.log('Event onErrorImage ->', event);\r\n }\r\n\r\n public playVideo(event) {\r\n // console.log('Event ->', event);\r\n if (this.videoplayer) {\r\n this.videoplayer.nativeElement.play();\r\n }\r\n }\r\n\r\n public linkify(str) {\r\n var re: any;\r\n re = [\r\n \"\\\\b((?:https?|ftp)://[^\\\\s\\\"'<>]+)\\\\b\",\r\n \"\\\\b(www\\\\.[^\\\\s\\\"'<>]+)\\\\b\",\r\n \"\\\\b(\\\\w[\\\\w.+-]*@[\\\\w.-]+\\\\.[a-z]{2,6})\\\\b\",\r\n \"#([a-z0-9]+)\"];\r\n re = new RegExp(re.join('|'), \"gi\");\r\n\r\n if (str) {\r\n return str.replace(re, function (match, url, www, mail, twitler) {\r\n if (url)\r\n return \"<a class='text-primary' target='_blank' (click)='redirectNewLink(url)' href=\\\"\" + url + \"\\\">\" + url + \"</a>\";\r\n if (www)\r\n return \"<a class='text-primary' href=\\\"http://\" + www + \"\\\">\" + www + \"</a>\";\r\n if (mail)\r\n return \"<a class='text-primary' href=\\\"#</a>\";\r\n if (twitler)\r\n return \"<a class='text-primary' href=\\\"portal/search/\" + encodeURIComponent('#' + twitler) + \"\\\">#\" + twitler + \"</a>\";\r\n // return \"<a class='text-primary' href=\\\"#\\\">#\" + twitler + \"</a>\";\r\n\r\n // shouldnt get here, but just in case\r\n return match;\r\n });\r\n }\r\n }\r\n\r\n public checkVideoRender(item) {\r\n\r\n console.log('videoRender ->', item);\r\n this.streamService.status(item).subscribe((res: any) => {\r\n console.log('checkVideoRender', res);\r\n })\r\n }\r\n\r\n public onEditItem() {\r\n // Preparar feed para editar\r\n let feed;\r\n feed = this.item;\r\n delete feed.comments;\r\n delete feed.likes;\r\n\r\n feed.files.map(file => {\r\n file.new = false;\r\n });\r\n\r\n this.dialog.open(FeedModalItemEditComponent, {\r\n width: '600px',\r\n data: feed,\r\n panelClass: 'modal-feed-publication'\r\n })\r\n }\r\n\r\n preConvertNumber(value) {\r\n return parseFloat(value);\r\n }\r\n\r\n public onRemoveItem(item) {\r\n this.global.swal({\r\n title: 'Você realmente deseja remover este Post?',\r\n text: 'Você não poderá reverter essa ação depois de confirmado',\r\n type: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\"\r\n }).then(async confirm => {\r\n if (confirm.value) {\r\n const collection = this.db.collection(path().feed).doc(item.id);\r\n\r\n if (item.files && item.files.length > 0) {\r\n for (const file of item.files) {\r\n if (file.type === 'image') {\r\n if (file.name) {\r\n try {\r\n await this.service.deleteFireStorage(`${path().images}/${file.name}`);\r\n } catch (error) {\r\n console.log('Removendo um post com imagem não referenciada', error);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n collection.delete();\r\n this.global.toast('Post removido com Sucesso');\r\n }\r\n });\r\n }\r\n\r\n checkFileOrigin(file) {\r\n\r\n }\r\n\r\n isYoutube(file) {\r\n console.log('IsYoutube ->', file);\r\n if (file.includes('youtube')) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getYoutubeID(url) {\r\n var regExp = /^.*((youtu.be\\/)|(v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))\\??v?=?([^#&?]*).*/;\r\n var match = url.match(regExp);\r\n return (match && match[7].length == 11) ? match[7] : false;\r\n}\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl, SafeUrl, SafeStyle } from '@angular/platform-browser';\r\n\r\n@Pipe({name: 'stream'})\r\nexport class StreamPipe implements PipeTransform {\r\n\r\n public url: string;\r\n\r\n constructor(private domSanitizer: DomSanitizer) {\r\n if (localStorage.getItem('loggedUser')) {\r\n const session = JSON.parse(localStorage.getItem('loggedUser')).data;\r\n this.url = (session.link_company) ? session.link_company : session.link;\r\n }\r\n else {\r\n // Carregar vídeos no Feed caso o usuário não esteja logado\r\n let link = localStorage.getItem('streamURL');\r\n this.url = link;\r\n }\r\n\r\n }\r\n\r\n transform(param: string, arg?: string): SafeResourceUrl | string {\r\n if (arg === 'link') {\r\n return this.getVideoUri(param);\r\n }\r\n if (arg === 'thumb') {\r\n return this.getVideoThumb(param);\r\n }\r\n if (arg === 'id') {\r\n return this.getVideoId(param);\r\n }\r\n if (arg === 'fire') {\r\n return this.getFireStorageURL(param);\r\n }\r\n if (arg === 'styleThumbUrl') {\r\n return this.domSanitizer.bypassSecurityTrustStyle(`url(${this.getVideoThumb(param)})`);\r\n }\r\n if (arg === 'backgroundImage') {\r\n return this.domSanitizer.bypassSecurityTrustStyle(`url(${param}`);\r\n }\r\n \r\n return param;\r\n }\r\n\r\n getVideoThumb(url: string): SafeResourceUrl {\r\n return this.url + 'videos/thumb/' + this.getVideoId(url);\r\n }\r\n\r\n getVideoUri(url: string): SafeResourceUrl {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(this.url + 'videos/' + this.getVideoId(url) + '/480_low');\r\n }\r\n\r\n getFireStorageURL(url:string): SafeUrl {\r\n console.log('URL', url);\r\n return this.domSanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n getVideoId(url: string): string {\r\n if (this.isUrl(url)) {\r\n const split = url.split('/');\r\n return split[4];\r\n }\r\n return url;\r\n }\r\n\r\n isUrl(s: string): boolean {\r\n const regexp = /[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/;\r\n return regexp.test(s);\r\n }\r\n\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safe'\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n\r\n constructor(protected sanitizer: DomSanitizer) {}\r\n \r\n public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n if (value) {\r\n switch (type) {\r\n case 'html': return this.sanitizer.bypassSecurityTrustHtml(value);\r\n case 'style': return this.sanitizer.bypassSecurityTrustStyle(value);\r\n case 'script': return this.sanitizer.bypassSecurityTrustScript(value);\r\n case 'url': return this.sanitizer.bypassSecurityTrustUrl(value);\r\n case 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value);\r\n default: throw new Error(`Invalid safe type specified: ${type}`);\r\n }\r\n }\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { CurrencyPipe } from '@angular/common';\r\n\r\nconst _NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\r\n\r\n@Pipe({name: 'looseCurrency'})\r\nexport class LooseCurrencyPipe implements PipeTransform {\r\n constructor(private _currencyPipe: CurrencyPipe) {}\r\n\r\n transform(value: any, currencyCode: string, symbolDisplay: boolean, digits: string): string {\r\n if (typeof value === 'number' || _NUMBER_FORMAT_REGEXP.test(value)) {\r\n return this._currencyPipe.transform(value, currencyCode, symbolDisplay, digits);\r\n } else {\r\n return value;\r\n }\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { StreamPipe } from './stream.pipe';\r\nimport { SafePipe } from './safe.pipe';\r\nimport { LooseCurrencyPipe } from './currency.pipe';\r\nimport { CurrencyPipe } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n SafePipe,\r\n StreamPipe,\r\n LooseCurrencyPipe\r\n ],\r\n imports: [\r\n\r\n ],\r\n exports: [\r\n SafePipe,\r\n StreamPipe,\r\n LooseCurrencyPipe\r\n ],\r\n providers:[\r\n CurrencyPipe\r\n ]\r\n})\r\nexport class PipesModule { }\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AsapFeedService } from '../services/asap-feed.service';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { path } from '../constants/constants';\r\nimport { Global, AsapService } from 'asap-crud';\r\n\r\n@Component({\r\n selector: 'feed-comments',\r\n templateUrl: './feed-comments.component.html',\r\n styleUrls: ['./feed-comments.component.scss', '../asap-feed.beta.componente.scss']\r\n})\r\nexport class FeedCommentsComponent implements OnInit {\r\n\r\n @Input() feed_id;\r\n @Input() user;\r\n public comments = [];\r\n public replyingComment = [];\r\n public mentionsList;\r\n public limitCommentsTo = 3;\r\n public limitReplysTo = 1;\r\n public comment;ng \r\n public reply;\r\n public editedComment;\r\n public editedReply;\r\n public onLoadingLike = false;\r\n public onLoadingReply = false;\r\n public onLoadingComment = false;\r\n\r\n\r\n\r\n constructor(\r\n public global: Global,\r\n public db: AngularFirestore,\r\n public feedService: AsapFeedService,\r\n public service: UtilsService,\r\n public asapService: AsapService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getComments(this.feed_id);\r\n }\r\n\r\n public getComments(feed_id) {\r\n const collection = this.db.collection(path().feed)\r\n .doc(feed_id)\r\n .collection('comments', (ref: any) => {\r\n let query = ref.orderBy(\"updated_at\", \"desc\");\r\n return query;\r\n });\r\n\r\n\r\n collection.snapshotChanges().subscribe((comment: any) => {\r\n this.comments = [];\r\n comment.map(item => {\r\n let data = item.payload.doc.data();\r\n data.id = item.payload.doc.id;\r\n data.likeForMe = false;\r\n data.limitReplysTo = 1;\r\n\r\n const likesCollection = this.db.collection(path().feed)\r\n .doc(feed_id)\r\n .collection('comments')\r\n .doc(data.id)\r\n .collection('like');\r\n\r\n\r\n likesCollection.snapshotChanges().subscribe(like => {\r\n data.likes = [];\r\n like.map(subItemLike => {\r\n let likeData = subItemLike.payload.doc.data();\r\n likeData.id = subItemLike.payload.doc.id;\r\n\r\n if (this.global.loggedUser()) {\r\n if (likeData.user_info && likeData.user_info.id === this.global.loggedUser().id) {\r\n data.likeForMe = true;\r\n data.likeForMeID = likeData.id;\r\n }\r\n }\r\n \r\n data.likes.push(likeData);\r\n\r\n });\r\n });\r\n\r\n const replyCollection = this.db.collection(path().feed)\r\n .doc(feed_id)\r\n .collection('comments')\r\n .doc(data.id)\r\n .collection('reply', ref => {\r\n return ref.orderBy('updated_at', 'desc');\r\n });\r\n\r\n replyCollection.snapshotChanges().subscribe(reply => {\r\n data.replys = [];\r\n reply.map(subItem => {\r\n let replyData = subItem.payload.doc.data();\r\n replyData.id = subItem.payload.doc.id;\r\n\r\n data.replys.push(replyData);\r\n });\r\n\r\n });\r\n\r\n this.comments.push(data);\r\n });\r\n });\r\n }\r\n\r\n public onReplyComment(i) {\r\n if (!this.replyingComment[i]) {\r\n this.replyingComment[i] = true;\r\n }\r\n else {\r\n this.replyingComment[i] = false;\r\n }\r\n }\r\n\r\n public sendComment(comment) {\r\n let data = {\r\n comment: comment,\r\n updated_at: Date.now(),\r\n created_at: Date.now(),\r\n user_info: {\r\n id: this.global.loggedUser().id,\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture\r\n }\r\n }\r\n\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments');\r\n\r\n if (comment.length > 0) {\r\n this.onLoadingComment = true;\r\n collection.add(data);\r\n\r\n const notification = {\r\n source:'web',\r\n title: `Novo comentário`,\r\n description: `${this.global.loggedUser().name}: ${comment}`,\r\n user: this.global.loggedUser(),\r\n client_id:this.global.loggedUser().client_id,\r\n redirect: `/portal/${this.feed_id}`\r\n }\r\n\r\n this.service.sendNotification(notification, this.user, 'feed');\r\n\r\n this.comment = \"\";\r\n this.onLoadingComment = false;\r\n }\r\n }\r\n\r\n public replyComment(comment_id, comment, user_info, i) {\r\n let data = {\r\n comment: comment,\r\n created_at: Date.now(),\r\n updated_at: Date.now(),\r\n user_info: {\r\n id: this.global.loggedUser().id,\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture\r\n }\r\n }\r\n\r\n if (comment.length > 0) {\r\n this.onLoadingReply = true;\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(comment_id)\r\n .collection('reply');\r\n\r\n collection.add(data);\r\n\r\n\r\n const notification = {\r\n source:'web',\r\n title: `Nova Resposta`,\r\n description: `${this.global.loggedUser().name} respondeu: ${comment}`,\r\n client_id:this.global.loggedUser().client_id,\r\n user: this.global.loggedUser(),\r\n redirect: `/portal/${this.feed_id}`\r\n }\r\n\r\n this.service.sendNotification(notification, user_info, 'feed');\r\n\r\n this.reply = \"\";\r\n this.onLoadingReply = false;\r\n this.replyingComment[i] = false;\r\n }\r\n }\r\n\r\n public deleteReply(comment_id, reply_id) {\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(comment_id)\r\n .collection('reply')\r\n .doc(reply_id);\r\n\r\n collection.delete();\r\n }\r\n\r\n public deleteComment(comment_id) {\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(comment_id);\r\n\r\n collection.delete();\r\n }\r\n\r\n public sendLikeComment(comment_id, like_id = null, item) {\r\n this.onLoadingLike = true;\r\n if (!item.likeForMe) {\r\n let data = {\r\n created_at: Date.now(),\r\n updated_at: Date.now(),\r\n user_info: {\r\n id: this.global.loggedUser().id,\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture\r\n }\r\n }\r\n\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(comment_id)\r\n .collection('like');\r\n\r\n collection.add(data);\r\n\r\n\r\n const notification = {\r\n source:'web',\r\n title: `Nova Curtida`,\r\n description: `${this.global.loggedUser().name} curtiu seu comentário: ${item.comment}`,\r\n client_id:this.global.loggedUser().client_id,\r\n user: this.global.loggedUser(),\r\n redirect: `/portal/${this.feed_id}`\r\n }\r\n\r\n this.service.sendNotification(notification, item.user_info, 'feed');\r\n\r\n item.likeForMe = true;\r\n this.onLoadingLike = false;\r\n }\r\n else {\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(comment_id)\r\n .collection('like')\r\n .doc(like_id);\r\n\r\n collection.delete();\r\n item.likeForMe = false;\r\n this.onLoadingLike = false;\r\n }\r\n }\r\n\r\n public loadMoreComments() {\r\n this.limitCommentsTo = this.limitCommentsTo + 3;\r\n }\r\n\r\n public loadMoreReplys(item) {\r\n item.limitReplysTo = item.limitReplysTo + 3;\r\n }\r\n\r\n public linkify(str) {\r\n var re: any;\r\n re = [\r\n \"\\\\b((?:https?|ftp)://[^\\\\s\\\"'<>]+)\\\\b\",\r\n \"\\\\b(www\\\\.[^\\\\s\\\"'<>]+)\\\\b\",\r\n \"\\\\b(\\\\w[\\\\w.+-]*@[\\\\w.-]+\\\\.[a-z]{2,6})\\\\b\",\r\n \"#([a-z0-9]+)\"];\r\n re = new RegExp(re.join('|'), \"gi\");\r\n\r\n if (str) {\r\n return str.replace(re, function (match, url, www, mail, twitler) {\r\n if (url)\r\n return \"<a class='text-primary' target='_blank' (click)='redirectNewLink(url)' href=\\\"\" + url + \"\\\">\" + url + \"</a>\";\r\n if (www)\r\n return \"<a class='text-primary' href=\\\"http://\" + www + \"\\\">\" + www + \"</a>\";\r\n if (mail)\r\n return \"<a class='text-primary' href=\\\"#</a>\";\r\n if (twitler)\r\n return \"<a class='text-primary' href=\\\"portal/search/\" + encodeURIComponent('#' + twitler) + \"\\\">#\" + twitler + \"</a>\";\r\n // return \"<a class='text-primary' href=\\\"#\\\">#\" + twitler + \"</a>\";\r\n\r\n // shouldnt get here, but just in case\r\n return match;\r\n });\r\n }\r\n }\r\n\r\n public onEditReply(reply) {\r\n this.editedReply = reply.comment;\r\n if (reply.onEdit) {\r\n reply.onEdit = false;\r\n }\r\n else {\r\n reply.onEdit = true;\r\n }\r\n }\r\n\r\n public onEditComment(comment) {\r\n this.editedComment = comment.comment;\r\n\r\n if (comment.onEdit) {\r\n comment.onEdit = false;\r\n }\r\n else {\r\n comment.onEdit = true;\r\n }\r\n }\r\n\r\n public updateComment(id, comment) {\r\n this.onLoadingComment = true;\r\n let data = {\r\n comment: this.editedComment,\r\n edited: true,\r\n updated_at: Date.now()\r\n }\r\n\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(id);\r\n\r\n if (comment.length > 0) {\r\n collection.update(data);\r\n this.editedComment = \"\";\r\n this.onLoadingComment = false;\r\n }\r\n }\r\n\r\n public updateReply(comment_id, old_reply, reply) {\r\n this.onLoadingReply = true;\r\n let data = {\r\n comment: reply,\r\n updated_at: Date.now(),\r\n }\r\n\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.feed_id)\r\n .collection('comments')\r\n .doc(comment_id)\r\n .collection('reply')\r\n .doc(old_reply.id);\r\n collection.update(data);\r\n this.editedComment = \"\";\r\n this.onLoadingReply = false;\r\n old_reply.onEdit = false;\r\n }\r\n\r\n public searchMetionUsers(event) {\r\n\r\n }\r\n\r\n public loadUsers() {\r\n this.asapService.entityName = 'asap-user';\r\n this.asapService.getResources().subscribe((response: any) => {\r\n this.mentionsList = {\r\n items: response.data.map((item: any) => item.name),\r\n triggerChar: '@'\r\n };\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, Input, isDevMode } from '@angular/core';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { AsapFeedService } from '../services/asap-feed.service';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { path } from '../constants/constants';\r\nimport { Global } from 'asap-crud';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Component({\r\n selector: 'feed-actions',\r\n templateUrl: './feed-actions.component.html',\r\n styleUrls: ['./feed-actions.component.scss', '../asap-feed.beta.componente.scss']\r\n})\r\nexport class FeedActionsComponent implements OnInit {\r\n\r\n @Input() item;\r\n @Input() portalName;\r\n\r\n public likes = [];\r\n public listUsersLikes;\r\n public comments = [];\r\n public shareds = [];\r\n public likeForMe = false;\r\n public sharedForMe = false;\r\n public likeForMeID;\r\n public sharedForMeID;\r\n public disabledLike;\r\n public onSendLike = false;\r\n public onSendShared = false;\r\n public deviceInfo = null;\r\n constructor(\r\n public global: Global,\r\n public db: AngularFirestore,\r\n public feedService: AsapFeedService,\r\n public service: UtilsService,\r\n public translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getLikes();\r\n this.getComments();\r\n this.getShareds();\r\n }\r\n\r\n public getLikes() {\r\n const collection = this.db.collection('likes', ref => {\r\n return ref.where('post_id', '==', this.item.id);\r\n });\r\n\r\n collection.snapshotChanges().subscribe(likes => {\r\n this.likes = [];\r\n // this.listUsersLikes = likes.map( (item:any) => item.user_info.name);\r\n // this.listUsersLikes = this.listUsersLikes.toString();\r\n likes.map((item: any) => {\r\n let data = item.payload.doc.data();\r\n data.id = item.payload.doc.id;\r\n\r\n if (this.global.loggedUser()) {\r\n // Este condição é para a versão antiga da Collection Likes\r\n if (data.uid && data.uid == this.global.loggedUser().id) {\r\n this.likeForMe = true;\r\n this.likeForMeID = data.id;\r\n }\r\n\r\n // Este condição é para a versão nova da Collection Likes\r\n if (data.user_info && data.user_info.id == this.global.loggedUser().id) {\r\n this.likeForMe = true;\r\n this.likeForMeID = data.id;\r\n }\r\n }\r\n\r\n this.likes.push(data);\r\n })\r\n });\r\n }\r\n\r\n public getComments() {\r\n const collection = this.db.collection(path().feed)\r\n .doc(this.item.id)\r\n .collection('comments');\r\n\r\n collection.valueChanges().subscribe(response => {\r\n this.comments = response;\r\n })\r\n }\r\n\r\n public getShareds() {\r\n const collection = this.db.collection('shareds', ref => {\r\n return ref.where('post_id', '==', this.item.id);\r\n });\r\n\r\n collection.snapshotChanges().subscribe(shareds => {\r\n this.shareds = [];\r\n shareds.map((item: any) => {\r\n console.log('Shareds ->', item);\r\n let data = item.payload.doc.data();\r\n data.id = item.payload.doc.id;\r\n\r\n if (this.global.loggedUser()) {\r\n // Este condição é para a versão antiga da Collection Shareds\r\n if (data.uid && data.uid == this.global.loggedUser().id) {\r\n this.sharedForMe = true;\r\n this.sharedForMeID = data.id;\r\n }\r\n\r\n // Este condição é para a versão nova da Collection Shareds\r\n if (data.user_info && data.user_info.id == this.global.loggedUser().id) {\r\n this.likeForMe = true;\r\n this.likeForMeID = data.id;\r\n }\r\n }\r\n\r\n this.shareds.push(data);\r\n })\r\n });\r\n }\r\n\r\n public sendLike() {\r\n this.onSendLike = true;\r\n\r\n let data = {\r\n post_id: this.item.id,\r\n create_at: Date.now(),\r\n updated_at: Date.now(),\r\n user_info: {\r\n id: this.global.loggedUser().id,\r\n updated_at: Date.now(),\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture\r\n }\r\n }\r\n\r\n if (!this.likeForMe) {\r\n\r\n const notification = {\r\n title: `Nova curtida`,\r\n description: `${this.global.loggedUser().name} curtiu seu post`,\r\n user: this.global.loggedUser(),\r\n redirect: `/portal/${this.item.id}`,\r\n client_id: this.global.loggedUser().client_id,\r\n }\r\n\r\n this.service.sendNotification(notification, this.item.user_info, 'feed');\r\n\r\n const collection = this.db.collection('likes');\r\n const commentData = collection.add(data);\r\n console.log(commentData);\r\n // const \r\n // const feedDataCollection = await db.collection('feed').doc(feed_id).collection('comments').doc(comment_id);\r\n // await feedDataCollection.update({ reply_count: admin.firestore.FieldValue.increment(1) });\r\n\r\n this.onSendLike = false;\r\n }\r\n else {\r\n const collection = this.db.collection('likes').doc(this.likeForMeID);\r\n collection.delete();\r\n this.onSendLike = false;\r\n this.likeForMe = false;\r\n }\r\n }\r\n\r\n public copyToClipBoard(val: string) {\r\n const selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = val;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n //alert(\"Link copiado para a área de transferencia\")\r\n this.global.notification.success('Pronto!', 'Link copiado para a área de transferencia');\r\n }\r\n\r\n\r\n sharePost(type = 'link') {\r\n this.onSendShared = false;\r\n\r\n let data = {\r\n post_id: this.item.id,\r\n create_at: Date.now(),\r\n updated_at: Date.now(),\r\n uid: this.global.loggedUser().id,\r\n user_info: {\r\n id: this.global.loggedUser().id,\r\n updated_at: Date.now(),\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture\r\n }\r\n }\r\n\r\n if (!this.sharedForMe) {\r\n\r\n\r\n\r\n const notification = {\r\n title: `Novo Compartilhamento`,\r\n description: `${this.global.loggedUser().name} compartilhou seu post através do ${type}`,\r\n meta_data: this.global.loggedUser(),\r\n redirect: `/portal/${this.item.id}`,\r\n client_id: this.global.loggedUser().client_id,\r\n }\r\n\r\n\r\n\r\n this.service.sendNotification(notification, this.item.user_info, 'feed');\r\n\r\n\r\n const collection = this.db.collection('shareds');\r\n collection.add(data);\r\n }\r\n\r\n this.onSendShared = false;\r\n var base_url = window.location.origin;\r\n let urlShare = base_url + `/post/${this.item.id}`;\r\n\r\n // this.deviceInfo = this.deviceService.getDeviceInfo();\r\n const isMobile = false;//this.deviceService.isMobile();\r\n //const canShare = window.navigator.canShare(data);\r\n //console.log(\"canShare\",canShare)\r\n\r\n if (isMobile) {\r\n let myNavigator: any;\r\n myNavigator = window.navigator;\r\n\r\n\r\n if (myNavigator.share) {\r\n myNavigator.share({\r\n title: 'Gostei deste post',\r\n text: 'Veja esse poste de *' + this.item.user_info.name + '* que gostei ' + '\\n\\n' + urlShare,\r\n url: urlShare,\r\n })\r\n .then(() => console.log('Successful share'))\r\n .catch((error) => console.log('Error sharing', error));\r\n }\r\n\r\n } else {\r\n let url = '';\r\n if (type == 'whatsapp') {\r\n let original = this.translate.instant('LookThisPostThatIFound');\r\n url = `${original.split(\"{{user_name}}\").join(this.item.user_info.name)}\\n\\n${urlShare}`;\r\n url = `https://wa.me/?text=${encodeURIComponent(url)}`;\r\n window.open(url);\r\n }\r\n else if (type == 'linkedin') {\r\n url = `https://www.linkedin.com/shareArticle?mini=true&url=${urlShare}&title=${encodeURIComponent('Gostei deste post do *' + this.item.user_info.name + '* que encontrei no ' + 'Portal ' + '\\n\\n' + urlShare)}`\r\n window.open(url);\r\n }\r\n else if (type == 'telegram') {\r\n url = `https://telegram.me/share/url?url=${urlShare}`;\r\n window.open(url);\r\n }\r\n else if (type == 'link') {\r\n this.copyToClipBoard(urlShare);\r\n }\r\n else if (type == 'facebook') {\r\n url = `https://www.facebook.com/sharer/sharer.php?u=${urlShare}`;\r\n window.open(url);\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Global, AsapBaseService } from 'asap-crud';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class ProductService extends AsapBaseService {\r\n\r\n constructor(\r\n public http: HttpClient,\r\n public global: Global,\r\n public router: Router\r\n ) {\r\n super(http);\r\n this.entityName = \"\";\r\n this.basePath = \"api/v2\";\r\n }\r\n\r\n public product(id):any {\r\n return this.getResources({router:'client/produto/' + id});\r\n }\r\n \r\n public createProduct(data):any {\r\n return this.createResource(data, {router:'loja/produto'});\r\n } \r\n\r\n public categories():any {\r\n return this.getResources({router:'client/categoria/' + this.global.clientID()});\r\n }\r\n\r\n public subCategories(category):any {\r\n return this.getResources({router:'client/subcategoria/' + this.global.clientID() + \"/\" + category});\r\n }\r\n\r\n public subCategoryProducts(id,page=null):any {\r\n let qryPage = null;\r\n if (page) {\r\n qryPage = \"page=\" + page;\r\n }\r\n return this.getResources({router:'client/showcasefilter/' + id, query: qryPage});\r\n } \r\n\r\n public mainProducts():any {\r\n return this.getResources({router:'client/produto/mais/vendidos/' + this.global.clientID()});\r\n }\r\n\r\n public getMyProducts():any {\r\n return this.getResources({router:'client/seller/' +this.global.loggedUser().id});\r\n }\r\n \r\n public spotlightProducts(page=null,search=\"\"):any {\r\n let qryPage = \"\";\r\n if (page) {\r\n qryPage = \"page=\" + page;\r\n }\r\n if (search != \"\") {\r\n if (qryPage != \"\") qryPage += \"&busca=\" + search;\r\n }\r\n return this.getResources({router:'client/showcase/' + this.global.clientID(), query: qryPage});\r\n }\r\n\r\n public order(id,orderData):any {\r\n return this.createResource(orderData,{router:'loja/pedido/' + id});\r\n }\r\n\r\n public searchCep(cep):any {\r\n return this.http.get('https://viacep.com.br/ws/'+cep+'/json/');\r\n }\r\n\r\n public checkUserExists(email):any{\r\n return this.getResources({router:'admin/verify/user?search='+email + '&client_id=' +this.global.clientID()});\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, Inject, Input, ViewChild, Output, EventEmitter, ElementRef } from '@angular/core';\r\nimport { Global, AsapService } from 'asap-crud';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { classToPlain } from 'class-transformer';\r\nimport { CdkStepper } from '@angular/cdk/stepper';\r\nimport { StreamService } from '../../services/stream.service';\r\nimport { ProductService } from '../../services/product.service';\r\nimport { ProductModel, FilesModel, FeedModel } from '../../models/feed.model';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { path } from '../../constants/constants';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\ndeclare var swal: any;\r\n\r\n@Component({\r\n selector: 'modal-announce',\r\n templateUrl: './modal-announce.component.html',\r\n styleUrls: ['./modal-announce.component.scss', '../../asap-feed.beta.componente.scss'],\r\n providers: [AsapService, Global, StreamService, ProductService]\r\n})\r\nexport class ModalAnnounceComponent implements OnInit {\r\n @Input() images;\r\n @ViewChild('file', { static: false }) file: ElementRef;\r\n @Output() published = new EventEmitter<boolean>(false);\r\n\r\n public category: any;\r\n public subCategory: any;\r\n public error = false;\r\n public entity: any = {}\r\n public newProduct: boolean = true;\r\n public newAdversing: any;\r\n public myProducts: any;\r\n public selectedProduct: any = {};\r\n public tempProductData: ProductModel;\r\n public tmpFileArray: Array<FilesModel>;\r\n public uploading: boolean;\r\n public uploadingVideo: boolean;\r\n public progress;\r\n public title;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<ModalAnnounceComponent>,\r\n public global: Global,\r\n public asapService: AsapService,\r\n public utilsService: UtilsService,\r\n public sanitizer: DomSanitizer,\r\n public streamService: StreamService,\r\n public productService: ProductService,\r\n public route: ActivatedRoute,\r\n public db: AngularFirestore,\r\n @Inject(MAT_DIALOG_DATA) public feed,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.tmpFileArray = [];\r\n this.progress = 0;\r\n this.newProduct = true;\r\n this.loadCategory();\r\n this.loadMyProducts();\r\n }\r\n\r\n close() {\r\n this.global.alert({\r\n title: 'Você quer mesmo fechar anúncio?',\r\n text: 'Você perderá todas as informações se confirmar...',\r\n type: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\"\r\n }).then(async confirm => {\r\n if (confirm.value) {\r\n this.dialogRef.close();\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n public defaults() {\r\n return {\r\n fotos: []\r\n }\r\n }\r\n\r\n public loadSubCategory(event) {\r\n this.productService.subCategories(this.entity.categoria_id).subscribe((response: any) => {\r\n this.subCategory = response;\r\n });\r\n }\r\n\r\n public addPicture(image) {\r\n this.entity.fotos.push({ img: image.path });\r\n }\r\n\r\n public delPicture(index) {\r\n // this.global.swal({\r\n // title: 'Remover imagem...',\r\n // text: \"Você deseja remover essa imagem!\",\r\n // type: 'warning',\r\n // showCancelButton: true,\r\n // confirmButtonText: 'Sim',\r\n // cancelButtonText: 'Não',\r\n // reverseButtons: true\r\n // }).then((result) => {\r\n // if (result.value) {\r\n // this.entity.fotos.splice(index,1);\r\n // }\r\n // })\r\n }\r\n\r\n public categoryName(id) {\r\n if (this.category) {\r\n let cat = this.category.find(item => item.id == id);\r\n if (cat) {\r\n return cat.name;\r\n }\r\n }\r\n return \"NÃO SELECIONADO\";\r\n }\r\n\r\n public subCategoryName(id) {\r\n if (this.subCategory) {\r\n let cat = this.subCategory.find(item => item.id == id);\r\n if (cat) {\r\n return cat.subCategory;\r\n }\r\n }\r\n return \"NÃO SELECIONADO\";\r\n }\r\n\r\n public onSave() {\r\n this.uploading = true;\r\n this.progress = 1;\r\n this.images = this.tmpFileArray;\r\n if (!this.newProduct) {\r\n this.addPostOnFeed();\r\n this.global.notification.success('Seu produto foi anunciado com Sucesso!');\r\n\r\n }\r\n else if (this.newProduct) {\r\n this.tempProductData = this.entity;\r\n this.entity.fotos = [];\r\n\r\n for (let index = 0; index < this.images.length; index++) {\r\n this.entity.fotos[index] = {\r\n img: this.images[index].url\r\n };\r\n\r\n }\r\n\r\n this.productService.createProduct(this.entity).subscribe((response: any) => {\r\n console.log('ResponseFeed');\r\n this.tempProductData.id = response.produto.data.id;\r\n this.addPostOnFeed();\r\n this.global.notification.success('Produto, cadastrado e anunciado com Sucesso');\r\n },\r\n\r\n (error: any) => {\r\n console.error('Erro', error);\r\n });\r\n }\r\n }\r\n\r\n public loadCategory() {\r\n this.productService.categories().subscribe((response: any) => {\r\n console.log('loadSubCategories', response);\r\n this.category = response.data;\r\n\r\n })\r\n }\r\n\r\n public loadSubCategories(id_categorie) {\r\n console.log('loadSubCategories', id_categorie);\r\n this.productService.subCategories(id_categorie).subscribe((response: any) => {\r\n this.subCategory = response;\r\n\r\n });\r\n }\r\n\r\n public loadMyProducts() {\r\n this.productService.getMyProducts().subscribe((response: any) => {\r\n console.log('MyPrid', response);\r\n this.myProducts = response.data.produtos.data;\r\n },\r\n (error: any) => {\r\n this.global.notification.error('Ocorreu um problema ao processar sua requisição, entre em contato com o Administrador do Sistema')\r\n })\r\n }\r\n\r\n public addPostOnFeed() {\r\n console.log('Owner', this);\r\n console.log('Data Feed', this.tempProductData);\r\n this.share();\r\n // const feedCollection = this.db.collection(path().feed);\r\n // const images = []; \r\n\r\n // for (let index = 0; index < this.images.length; index++) {\r\n // images[index] = {\r\n // type:'image',\r\n // url:this.images[index].url || this.images[index].img\r\n // };\r\n // }\r\n\r\n // const post = {\r\n // likes: 0,\r\n // isLiked: false,\r\n // user_info: this.global.loggedUser(),\r\n // updated_at: Date.now(),\r\n // title: data.produto,\r\n // product:{\r\n // data\r\n // },\r\n // type: 'announce',\r\n // files: images,\r\n // };\r\n\r\n // console.log('DATA', post);\r\n\r\n // feedCollection.add(post).then(res => {\r\n // this.db.doc(`feed/${res.id}`).update({ id: res.id });\r\n // });\r\n }\r\n\r\n share(): any {\r\n console.log('New Prodct 1', this.newProduct);\r\n const data: FeedModel = new FeedModel();\r\n data.product = (this.newProduct) ? this.tempProductData : this.selectedProduct;\r\n data.updated_at = Date.now();\r\n data.type = 'announce';\r\n console.log('Post Data', data);\r\n console.log('New Prodct', this.newProduct);\r\n\r\n if (this.newProduct) {\r\n\r\n data.title = '<b>' + data.product.produto + '</b>' + '<br><br>' + data.product.descr;\r\n data.product = this.tempProductData;\r\n\r\n if (this.tmpFileArray || this.tmpFileArray.length > 0) {\r\n console.log(2);\r\n data.files = this.tmpFileArray;\r\n console.log('FILES ------------>', data.files);\r\n const videoFilter = data.files.filter(tmp => this.getTypeByMimeType(tmp.type) === 'video');\r\n\r\n if (videoFilter.length > 0) {\r\n console.log(3);\r\n data.files[0].video_rendering = true;\r\n data.files[0].video_low_rendering = true;\r\n data.files[0].thumb_rendering = true;\r\n\r\n this.streamService.status(videoFilter[0].url).subscribe((res: any) => {\r\n data.files[0].video_rendering = !res.p480;\r\n data.files[0].video_low_rendering = !res.p480_low;\r\n data.files[0].thumb_rendering = !res.thumb;\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n else if (!this.newProduct) {\r\n data.title = '<b>' + data.product.produto + '</b>' + '<br><br>' + data.product.descr;\r\n if (data.product.fotos.length > 0) {\r\n for (let index = 0; index < data.product.fotos.length; index++) {\r\n console.log('Fotos ->', data.product.fotos[index]);\r\n data.product.fotos[index].url = data.product.fotos[index].img;\r\n data.product.fotos[index].type = 'image';\r\n delete data.product.fotos[index].img;\r\n data.files[index] = data.product.fotos[index];\r\n }\r\n\r\n if (data.files.length == data.product.fotos.length) {\r\n console.log('Fotos', data);\r\n }\r\n }\r\n\r\n }\r\n\r\n console.log('SHARE', data);\r\n this.publish(data);\r\n this.feed.owner.published.emit(true);\r\n\r\n }\r\n\r\n\r\n async uploadFile(event: any) {\r\n console.log('uploadFile(event)', event);\r\n for (const file of event.target.files) {\r\n console.log('Target Files', file);\r\n const fileGenerated = window.URL.createObjectURL(file);\r\n const fileSanitized = this.sanitizer.bypassSecurityTrustUrl(\r\n fileGenerated\r\n );\r\n\r\n const tmpFile: FilesModel = new FilesModel();\r\n tmpFile.type = this.getTypeByMimeType(file.type);\r\n tmpFile.status = 0;\r\n tmpFile.thumb_rendering = false;\r\n tmpFile.video_rendering = false;\r\n tmpFile.video_low_rendering = false;\r\n\r\n let error = false;\r\n\r\n if (\r\n this.getTypeByMimeType(file.type) === 'video' &&\r\n this.tmpFileArray.filter((tmp: any) => this.getTypeByMimeType(tmp.type) === 'video').length > 0\r\n ) {\r\n swal.fire('Ops...', 'Você só pode enviar 1 vídeo por postagem', 'error');\r\n error = true;\r\n }\r\n\r\n if (\r\n this.getTypeByMimeType(file.type) === 'image' &&\r\n this.tmpFileArray.filter((tmp: any) => this.getTypeByMimeType(tmp.type) === 'image').length > 8\r\n ) {\r\n swal.fire(\r\n 'Ops...',\r\n 'Você só pode enviar até 9 imagens por postagem',\r\n 'error'\r\n );\r\n error = true;\r\n }\r\n\r\n if (!error) {\r\n // this.uploading = true;\r\n\r\n if (this.getTypeByMimeType(file.type) === 'image') {\r\n if (file.type == 'image/gif') {\r\n tmpFile.name = `${this.utilsService.uid()}.gif`;\r\n tmpFile.url = await this.readGIF(file);\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n else {\r\n const getExtname = file.name.split('.');\r\n const extname = getExtname[getExtname.length - 1];\r\n\r\n tmpFile.url = await this.resizeImages(file, 800);\r\n tmpFile.name = `${this.utilsService.uid()}.${extname}`;\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n }\r\n else if (this.getTypeByMimeType(file.type) === 'video') {\r\n this.uploadingVideo = true;\r\n console.log('Realizar Upload de Video', tmpFile);\r\n let reader = event.target.files[0];\r\n if (reader) {\r\n let blobURL = this.sanitizer.bypassSecurityTrustResourceUrl(URL.createObjectURL(reader));\r\n tmpFile.name = blobURL as any;\r\n this.tmpFileArray.push(tmpFile);\r\n console.log('Result', blobURL);\r\n }\r\n this.streamService.uploadFile(file).subscribe(\r\n async response => {\r\n if (response['loaded']) {\r\n tmpFile.status = ((response['loaded'] * 100) / response['total']).toFixed(0) as any;\r\n }\r\n\r\n if (response['body']) {\r\n tmpFile.url = await response['body']['uuidVideo'];\r\n this.uploadingVideo = false;\r\n console.log('Pronto!', response);\r\n\r\n }\r\n }\r\n )\r\n }\r\n }\r\n }\r\n }\r\n\r\n resizeImages(file: any, width: number): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n const img = new Image();\r\n const MAX_WIDTH = width;\r\n\r\n let reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = (e: any) => {\r\n img.src = e.target.result;\r\n img.onload = () => {\r\n const scale = MAX_WIDTH / img.width;\r\n const canvas = document.createElement(\"canvas\");\r\n canvas.height = scale * img.height;\r\n canvas.width = MAX_WIDTH;\r\n let ctx = canvas.getContext(\"2d\");\r\n ctx.drawImage(img, 0, 0);\r\n\r\n console.log('IMG', img.width, img.height);\r\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\r\n\r\n let dataurl = canvas.toDataURL(file.type, 0.65);\r\n console.log('CANVAS ->', canvas.width, canvas.height);\r\n return resolve(dataurl);\r\n }\r\n }\r\n\r\n reader.onerror = reject;\r\n });\r\n\r\n }\r\n\r\n readGIF(file: any): Promise<any> {\r\n return new Promise((resolve, reject) => {\r\n\r\n let reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = (e: any) => {\r\n return resolve(reader.result);\r\n }\r\n\r\n reader.onerror = reject;\r\n });\r\n\r\n }\r\n\r\n getTypeByMimeType(mime: string): string {\r\n const split = mime.split('/');\r\n return split[0];\r\n }\r\n\r\n checkUploading(): boolean {\r\n const tmpFileUploading = this.tmpFileArray.filter((tmp: any) => tmp.url === '');\r\n return (tmpFileUploading.length > 0) ? true : false;\r\n }\r\n\r\n removeTmpFile(tmpFile: any): void {\r\n const index = this.tmpFileArray.indexOf(tmpFile);\r\n this.tmpFileArray.splice(index, 1);\r\n }\r\n\r\n checkIfHasEmbededVideo(value: string): any {\r\n if (value) {\r\n if (value.includes('vimeo')) {\r\n return { url: '//player.vimeo.com/video/' + value.split('/')[4] };\r\n } else if (value.includes('youtube')) {\r\n return { url: '//www.youtube.com/embed/' + value.split('=')[1] };\r\n } else {\r\n return value;\r\n }\r\n }\r\n }\r\n\r\n publish(data: FeedModel) {\r\n let image;\r\n\r\n console.log('Publish()', 1, data);\r\n this.uploading = true;\r\n this.progress = 0;\r\n\r\n\r\n let count = 0;\r\n data.user_info = {\r\n id: this.global.loggedUser().id,\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture,\r\n updated_at: Date.now()\r\n }\r\n\r\n if (this.tmpFileArray && this.tmpFileArray.length > 0) {\r\n console.log('this.tmpFileArray', this.getTypeByMimeType(this.tmpFileArray[0].type));\r\n console.log('Publish()', 2);\r\n const imagesFiles = this.tmpFileArray.filter(\r\n (tmp: any) => this.getTypeByMimeType(tmp.type) === 'image'\r\n );\r\n\r\n\r\n const step = 98 / imagesFiles.length;\r\n\r\n if (imagesFiles.length > 0) {\r\n console.log('Publish()', 3, imagesFiles)\r\n for (const file of imagesFiles) {\r\n setTimeout(() => {\r\n this.utilsService.uploadFile(`images/${file.name}`, file.url);\r\n this.utilsService.percentage.subscribe(percent => {\r\n console.log('TO RODANDO EIM', percent);\r\n file.status = percent;\r\n });\r\n\r\n this.utilsService.task.snapshotChanges().subscribe(\r\n async snap => {\r\n if (snap.bytesTransferred === snap.totalBytes) {\r\n count++;\r\n this.progress += step;\r\n console.log('PROGRESS', this.progress);\r\n const index = data.files.findIndex(item => item.name === file.name);\r\n if ((!image) && (data.files[index])) {\r\n this.utilsService.getFireStorageURL(`images/${data.files[index].name}`).subscribe((imageURL) => {\r\n image = imageURL;\r\n });\r\n\r\n }\r\n delete data.files[index].url;\r\n\r\n\r\n\r\n if (count == imagesFiles.length) {\r\n console.log('Criando Feed');\r\n\r\n const collection = this.db.collection(path().feed)\r\n collection.add(classToPlain(data)).then(response => {\r\n this.db.collection(path().feed).doc(response.id).update({ id: response.id });\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n\r\n console.log('Publish()', 4)\r\n console.log('Data ->', data);\r\n\r\n });\r\n }\r\n }\r\n },\r\n error => {\r\n console.error('Error', error);\r\n })\r\n });\r\n }\r\n }\r\n else {\r\n console.log('Publish()', 5)\r\n console.log(data, this.tmpFileArray)\r\n\r\n const collection = this.db.collection(path().feed)\r\n console.log('Data ->', data);\r\n collection.add(classToPlain(data)).then(response => {\r\n this.db.collection(path().feed).doc(response.id).update({ id: response.id });\r\n\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n })\r\n\r\n\r\n }\r\n }\r\n else {\r\n console.log('Publish()', 5);\r\n console.log(data, this.tmpFileArray);\r\n console.log('Data ->', data);\r\n const collection = this.db.collection(path().feed)\r\n collection.add(classToPlain(data)).then(response => {\r\n this.db.collection(path().feed).doc(response.id).update({ id: response.id });\r\n\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n })\r\n }\r\n\r\n\r\n console.log('Publish()', 0, path().feed);\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n this.dialogRef.close();\r\n this.global.toastService.show({\r\n title: 'Feito!',\r\n message: 'Seu post foi criado com sucesso',\r\n layout: 2\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Global } from 'asap-crud';\r\nimport { AsapFeedService } from '../services/asap-feed.service';\r\nimport { StreamService } from '../services/stream.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FilesModel, FeedModel } from '../models/feed.model';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { path } from '../constants/constants';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\nimport { classToPlain } from 'class-transformer';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ModalAnnounceComponent } from './modal-announce/modal-announce.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'feed-publication',\r\n templateUrl: './feed-publication.component.html',\r\n styleUrls: ['./feed-publication.component.scss', '../asap-feed.beta.componente.scss'],\r\n providers: [StreamService]\r\n})\r\nexport class FeedPublicationComponent implements OnInit {\r\n\r\n @Input() announce = false;\r\n @Output() feedCreated = new EventEmitter();\r\n\r\n\r\n public tmpFileArray: Array<FilesModel>;\r\n public uploading;\r\n public title = null;\r\n public progress;\r\n public notAnnounce;\r\n public newProduct;\r\n public ExpandImg;\r\n public type = 'post';\r\n public embedFile;\r\n public tmpEmbedFile;\r\n public videoSendedID;\r\n\r\n constructor(\r\n public global: Global,\r\n public feedService: AsapFeedService,\r\n public sanitizer: DomSanitizer,\r\n public streamService: StreamService,\r\n public utilsService: UtilsService,\r\n public db: AngularFirestore,\r\n public http: HttpClient,\r\n public dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.tmpFileArray = [];\r\n console.log('Prefix Publication ->', path().feed);\r\n }\r\n\r\n async uploadFile(event: any) {\r\n for (const file of event.target.files) {\r\n\r\n const tmpFile: FilesModel = new FilesModel();\r\n tmpFile.type = this.getTypeByMimeType(file.type);\r\n // tmpFile.status = 0;\r\n tmpFile.thumb_rendering = false;\r\n tmpFile.video_rendering = false;\r\n tmpFile.video_low_rendering = false;\r\n\r\n let error = false;\r\n if (this.getTypeByMimeType(file.type) === 'video' && this.tmpFileArray.filter((tmp: any) => this.getTypeByMimeType(tmp.type) === 'video').length > 0) {\r\n this.global.toastService.error({\r\n title: 'Ops',\r\n message: 'Você só pode enviar um vídeo por Post'\r\n });\r\n error = true;\r\n }\r\n\r\n if (this.getTypeByMimeType(file.type) === 'image' && this.tmpFileArray.filter((tmp: any) => this.getTypeByMimeType(tmp.type) === 'image').length > 4) {\r\n this.global.toastService.error({\r\n title: 'Ops',\r\n message: 'Você pode utilizar até no máximo 5 imagens no seu Post'\r\n });\r\n error = true;\r\n }\r\n\r\n if (!error) {\r\n // this.uploading = true;\r\n\r\n if (this.getTypeByMimeType(file.type) === 'image') {\r\n if (file.type == 'image/gif') {\r\n tmpFile.name = `${this.streamService.uid()}.gif`;\r\n tmpFile.url = await this.readGIF(file);\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n\r\n else {\r\n const getExtname = file.name.split('.');\r\n const extname = getExtname[getExtname.length - 1];\r\n\r\n tmpFile.url = await this.resizeImages(file, 800);\r\n tmpFile.name = `${this.streamService.uid()}.${extname}`;\r\n this.tmpFileArray.push(tmpFile);\r\n }\r\n }\r\n\r\n else if (this.getTypeByMimeType(file.type) === 'video') {\r\n this.uploading = true;\r\n console.log('Realizar Upload de Video', tmpFile);\r\n const reader = file;\r\n if (reader) {\r\n const blobURL = URL.createObjectURL(reader);\r\n tmpFile.name = blobURL as any;\r\n this.tmpFileArray.push(tmpFile);\r\n console.log('Result', blobURL);\r\n }\r\n\r\n this.uploading = true;\r\n await this.streamService.uploadFile(file).subscribe(\r\n response => {\r\n if (response['loaded']) {\r\n tmpFile.status = ((response['loaded'] * 100) / response['total']).toFixed(0) as any;\r\n this.progress = tmpFile.status;\r\n console.log('Response', tmpFile);\r\n }\r\n\r\n console.log('RESPONSE UPDLOAD ->', response);\r\n if (response.body && response.body.file) {\r\n tmpFile.url = response.body.file.secure_url;\r\n this.videoSendedID = tmpFile.url;\r\n this.uploading = false;\r\n this.progress = null;\r\n\r\n }\r\n }\r\n );\r\n console.log('tmpFile', tmpFile);\r\n }\r\n }\r\n }\r\n }\r\n\r\n resizeImages(file: any, width: number): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n const img = new Image();\r\n const MAX_WIDTH = width;\r\n const MAX_HEIGHT: any = 1334;\r\n\r\n const reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = (e: any) => {\r\n img.src = e.target.result;\r\n img.onload = () => {\r\n const scale = MAX_WIDTH / img.width;\r\n const canvas = document.createElement('canvas');\r\n canvas.height = scale * img.height;\r\n\r\n canvas.width = MAX_WIDTH;\r\n const ctx = canvas.getContext('2d');\r\n ctx.drawImage(img, 0, 0);\r\n\r\n console.log('IMG', img.width, img.height);\r\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\r\n\r\n const dataurl = canvas.toDataURL(file.type, 0.65);\r\n console.log('CANVAS ->', canvas.width, canvas.height);\r\n return resolve(dataurl);\r\n };\r\n };\r\n\r\n reader.onerror = reject;\r\n });\r\n\r\n }\r\n\r\n readGIF(file: any): Promise<any> {\r\n return new Promise((resolve, reject) => {\r\n\r\n const reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = (e: any) => {\r\n return resolve(reader.result);\r\n };\r\n\r\n reader.onerror = reject;\r\n });\r\n\r\n }\r\n\r\n getTypeByMimeType(mime: string): string {\r\n const split = mime.split('/');\r\n return split[0];\r\n }\r\n\r\n share(): any {\r\n const data: FeedModel = new FeedModel();\r\n data.updated_at = Date.now();\r\n data.title = this.title;\r\n data.type = this.type;\r\n\r\n if (this.tmpFileArray || this.tmpFileArray.length > 0) {\r\n data.files = this.tmpFileArray;\r\n // const videoFilter = data.files.filter(tmp => this.getTypeByMimeType(tmp.type) === 'video');\r\n // if (videoFilter.length > 0) {\r\n // }\r\n data.files.map(item => {\r\n if (item.type === 'video') {\r\n console.log('Existe um video no Feed', item);\r\n if (!item.isCloudinary) {\r\n item.video_rendering = false;\r\n item.video_low_rendering = false;\r\n item.thumb_rendering = false;\r\n\r\n // Setando o ID do Feed igual ao ID do vídeo\r\n data.ref = item.url;\r\n data.status = false;\r\n this.streamService.status(item.url).subscribe((res: any) => {\r\n item.video_rendering = !res.p480;\r\n item.video_low_rendering = !res.p480_low;\r\n item.thumb_rendering = !res.thumb;\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.publish(data);\r\n\r\n }\r\n\r\n publish(data: FeedModel) {\r\n let image;\r\n\r\n console.log('Publish()', 1, data);\r\n this.uploading = true;\r\n this.progress = 0;\r\n\r\n\r\n let count = 0;\r\n data.user_info = {\r\n id: this.global.loggedUser().id,\r\n name: this.global.loggedUser().name,\r\n picture: this.global.loggedUser().picture,\r\n updated_at: Date.now()\r\n };\r\n\r\n if (this.type == 'embed') {\r\n const fileEmbed: any = {\r\n name: this.embedFile,\r\n url: this.embedFile,\r\n type: 'embed'\r\n };\r\n\r\n this.tmpFileArray.push(fileEmbed);\r\n }\r\n\r\n if (this.type != 'embed') {\r\n if (this.tmpFileArray && this.tmpFileArray.length > 0) {\r\n console.log('this.tmpFileArray', this.getTypeByMimeType(this.tmpFileArray[0].type));\r\n console.log('Publish()', 2);\r\n const imagesFiles = this.tmpFileArray.filter(\r\n (tmp: any) => this.getTypeByMimeType(tmp.type) === 'image'\r\n );\r\n\r\n\r\n const step = 98 / imagesFiles.length;\r\n\r\n if (imagesFiles.length > 0) {\r\n console.log('Publish()', 3, imagesFiles);\r\n for (const file of imagesFiles) {\r\n setTimeout(() => {\r\n this.utilsService.uploadFile(`images/${file.name}`, file.url);\r\n this.utilsService.percentage.subscribe(percent => {\r\n console.log('TO RODANDO EIM', percent);\r\n file.status = percent;\r\n });\r\n\r\n this.utilsService.task.snapshotChanges().subscribe(\r\n async snap => {\r\n if (snap.bytesTransferred === snap.totalBytes) {\r\n count++;\r\n this.progress += step;\r\n console.log('PROGRESS', this.progress);\r\n const index = data.files.findIndex(item => item.name === file.name);\r\n if ((!image) && (data.files[index])) {\r\n this.utilsService.getFireStorageURL(`images/${data.files[index].name}`).subscribe((imageURL) => {\r\n image = imageURL;\r\n });\r\n\r\n }\r\n delete data.files[index].url;\r\n\r\n\r\n\r\n if (count == imagesFiles.length) {\r\n console.log('Criando Feed');\r\n\r\n const collection = this.db.collection(path().feed);\r\n collection.add(classToPlain(data)).then(response => {\r\n this.db.collection(path().feed).doc(response.id).update({ id: response.id });\r\n this.feedCreated.emit(response.id);\r\n });\r\n\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n\r\n console.log('Publish()', 4);\r\n }\r\n }\r\n },\r\n error => {\r\n console.error('Error', error);\r\n });\r\n });\r\n }\r\n }\r\n else {\r\n console.log('Publish()', 5);\r\n console.log(data, this.tmpFileArray);\r\n\r\n const collection = this.db.collection(path().feed);\r\n collection.add(classToPlain(data)).then(response => {\r\n this.db.collection(path().feed).doc(response.id).update({ id: response.id });\r\n this.feedCreated.emit(response.id);\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n });\r\n\r\n\r\n }\r\n }\r\n else {\r\n console.log('Publish()', 5);\r\n console.log(data, this.tmpFileArray);\r\n\r\n const collection = this.db.collection(path().feed);\r\n collection.add(classToPlain(data)).then(response => {\r\n this.db.collection(path().feed).doc(response.id).update({ id: response.id });\r\n this.feedCreated.emit(response.id);\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n });\r\n }\r\n }\r\n\r\n else {\r\n data.files = this.tmpFileArray;\r\n console.log('Publish(Embed)', 6);\r\n console.log(data, this.tmpFileArray);\r\n const collection = this.db.collection(path().feed);\r\n collection.add(classToPlain(data)).then(response => {\r\n const doc = this.db.collection(path().feed).doc(response.id);\r\n doc.update({ id: response.id });\r\n this.feedCreated.emit(response.id);\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n this.embedFile = null;\r\n this.type = 'post';\r\n });\r\n }\r\n\r\n\r\n console.log('Publish()', 0, path().feed);\r\n this.title = '';\r\n this.progress = null;\r\n this.uploading = null;\r\n this.tmpFileArray = [];\r\n this.global.toastService.show({\r\n title: 'Feito!',\r\n message: 'Seu post foi criado com sucesso',\r\n layout: 2\r\n });\r\n }\r\n\r\n removeTmpFile(tmpFile: any): void {\r\n const index = this.tmpFileArray.indexOf(tmpFile);\r\n this.tmpFileArray.splice(index, 1);\r\n }\r\n\r\n checkPublicationType(title) {\r\n console.log('Event ->', event);\r\n if (title.length > 35) {\r\n if (this.isValidUrl(title)) {\r\n console.log('checkPublicationType', title);\r\n if (title.includes('youtu') || title.includes('youtube')) {\r\n this.uploading = true;\r\n this.type = 'embed';\r\n this.uploading = false;\r\n this.embedFile = title.replace('watch?v=', 'embed/');\r\n this.tmpEmbedFile = this.sanitizer.bypassSecurityTrustResourceUrl(this.embedFile);\r\n }\r\n else if (title.includes('spotify')) {\r\n this.uploading = true;\r\n this.type = 'embed';\r\n this.embedFile = title.replace('/episode', '/embed-podcast/episode');\r\n this.tmpEmbedFile = this.sanitizer.bypassSecurityTrustResourceUrl(this.embedFile);\r\n this.uploading = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n removeEmbedFiles() {\r\n this.title = '';\r\n this.embedFile = '';\r\n this.type = 'post';\r\n }\r\n\r\n isValidUrl(str) {\r\n const pattern = new RegExp('^(https?:\\\\/\\\\/)?' + // protocol\r\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\r\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\r\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\r\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\r\n '(\\\\#[-a-z\\\\d_]*)?$', 'i'); // fragment locator\r\n return !!pattern.test(str);\r\n }\r\n\r\n openAnnounceModal() {\r\n const dialogRef = this.dialog.open(ModalAnnounceComponent, {\r\n width: '55%',\r\n minHeight: '95%',\r\n maxHeight: '100%',\r\n closeOnNavigation: false,\r\n disableClose: true,\r\n data: { owner: this, tmpFileArray: this.tmpFileArray }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Global, AsapBaseService } from 'asap-crud';\r\n\r\n@Injectable()\r\nexport class ChannelService extends AsapBaseService {\r\n\r\n public isSubscriber = false;\r\n\r\n constructor(\r\n public http: HttpClient,\r\n public global: Global\r\n ) {\r\n super(http);\r\n this.basePath = \"api/v2/admin\";\r\n this.entityName = \"channel\";\r\n this.isSubscriber = false;\r\n };\r\n\r\n public channelLibrary(search,page) {\r\n if (page == null) page = 1;\r\n return this.createResource({search:search},{router:\"videos\",query:\"page=\" + page});\r\n }\r\n\r\n public channeGrouplLibrary(search,page) {\r\n if (page == null) page = 1;\r\n return this.createResource({search:search},{router:\"videos\",query:\"page=\" + page +'&group'});\r\n }\r\n\r\n public fileLibrary(search,page) {\r\n if (page == null) page = 1;\r\n return this.createResource({search:search},{router:\"files\",query:\"page=\" + page});\r\n }\r\n\r\n public fileGroupLibrary(search,page) {\r\n if (page == null) page = 1;\r\n return this.createResource({search:search},{router:\"files\",query:\"page=\" + page+'&group'});\r\n }\r\n\r\n public subscribe(channel_id, callback = null) {\r\n this.createResource({},{router:\"subscribe/\" + channel_id}).subscribe(() => {\r\n this.global.notification.success('Pronto', 'Inscrição efetuada com sucesso!')\r\n this.isSubscriber = true;\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n public like(video_id, like = true, type = 'video') {\r\n let data:any;\r\n\r\n data = (like) ? {like: 1} : {unlike: 1};\r\n data.type = type;\r\n\r\n return this.createResource(data,{router: 'like/' + video_id});\r\n }\r\n\r\n public likev2(video_id, dados, type = 'video') {\r\n dados.type = type;\r\n return this.createResource(dados,{router: 'like/' + video_id});\r\n }\r\n \r\n\r\n public unsubscribe(channel_id, callback = null) {\r\n this.global.alert({\r\n type: \"warning\",\r\n text:\"Você realmente deseja cancelar sua inscrição?\",\r\n position: 'top-right',\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\"\r\n }).then(\r\n confirm => {\r\n if (confirm) {\r\n this.createResource({},{router:\"subscribe/\" + channel_id}).subscribe(() => {\r\n this.global.notification.info('Pronto', 'Você não está mais inscrito no Canal!')\r\n this.isSubscriber = false;\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n },\r\n cancel => {}\r\n );\r\n \r\n }\r\n\r\n public getPlaylists(user_id = null, type='home') {\r\n return this.getResources({router: 'playlist/' + user_id + '?type=' + type});\r\n }\r\n\r\n public getPlaylist(playlist_id, user_id) {\r\n return this.getResources({router: 'playlist/' + playlist_id + '/' + user_id});\r\n }\r\n\r\n public createPlaylist(playlist_name) {\r\n let data:any;\r\n data = {name:playlist_name}\r\n return this.createResource(data, {router: 'playlist'});\r\n }\r\n\r\n public deletePlaylist(playlist_id) {\r\n return this.deleteResource(playlist_id);\r\n }\r\n\r\n public addVideoPlaylist(video_id, playlist_id) {\r\n let data: any;\r\n data = {video_id: video_id};\r\n console.log('VideoID ->', data.video_id);\r\n console.log('playlist_id ->', playlist_id);\r\n return this.createResource(data, {router: 'playlist/'+playlist_id});\r\n }\r\n\r\n public updateChannel(data) {\r\n return this.updateResource(data);\r\n }\r\n}","import { Component, ViewChild, OnInit } from '@angular/core';\r\nimport { OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { Global } from 'asap-crud';\r\nimport { ChannelService } from '../services/channel.service';\r\nimport { AngularFirestore } from '@angular/fire/firestore';\r\n\r\nimport SwiperCore, { Pagination, SwiperOptions } from 'swiper';\r\n\r\nSwiperCore.use([Pagination]);\r\n\r\n@Component({\r\n selector: 'app-stories',\r\n templateUrl: './stories.component.html',\r\n styleUrls: ['../asap-feed.beta.componente.scss', './stories.component.scss'],\r\n providers: [ChannelService]\r\n})\r\n\r\nexport class StoriesComponent implements OnInit {\r\n\r\n constructor(\r\n public _channelService: ChannelService,\r\n public global: Global,\r\n public db: AngularFirestore\r\n ) {\r\n\r\n }\r\n\r\n public channelArray: any;\r\n public loading = true;\r\n\r\n storiesOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: false,\r\n dots: false,\r\n navSpeed: 700,\r\n navText: ['', ''],\r\n nav: true,\r\n responsive: {\r\n 0: {\r\n items: 2.4,\r\n },\r\n 500: {\r\n items: 3.5,\r\n }\r\n }\r\n }\r\n\r\n config: SwiperOptions = {\r\n navigation: true,\r\n autoHeight: false,\r\n breakpoints: {\r\n '640': {\r\n slidesPerView: 2.4,\r\n slidesPerGroup: 2.4,\r\n spaceBetween: 10\r\n },\r\n '768': {\r\n slidesPerView: 3,\r\n slidesPerGroup: 3,\r\n spaceBetween: 10\r\n },\r\n '1024': {\r\n slidesPerView: 3.5,\r\n slidesPerGroup: 3.5,\r\n spaceBetween: 10\r\n }\r\n }\r\n };\r\n\r\n\r\n ngOnInit() {\r\n this.getChannels();\r\n }\r\n\r\n getChannels() {\r\n this._channelService.getResources({ query: 'type=recommended' }).subscribe((res: any) => {\r\n console.log('getChannels', res.data);\r\n this.channelArray = [];\r\n\r\n if (res.data.length) {\r\n do {\r\n this.channelArray = [\r\n ... this.channelArray,\r\n ...res.data\r\n ];\r\n } while (this.channelArray.length < 10)\r\n\r\n }\r\n\r\n this.channelArray.map(item => {\r\n this.getNotificationForChannels(item);\r\n });\r\n\r\n this.loading = false;\r\n // console.log('channelArray', this.channelArray);\r\n });\r\n }\r\n\r\n getNotificationForChannels(item) {\r\n let notification;\r\n if (this.global.loggedUser()) {\r\n\r\n const collection = this.db.collection('notifications', (ref: any) => {\r\n let query = ref.orderBy('viewed', 'asc')\r\n .orderBy('create_at', 'desc')\r\n .where('receiver_id', '==', this.global.loggedUser().id)\r\n .where('channel_id', '==', item.id.toString())\r\n .where('read', '==', false);\r\n return query;\r\n });\r\n\r\n collection.snapshotChanges().subscribe((notificationDoc) => {\r\n console.log('Notifications for Channels ->', notificationDoc);\r\n item.notifications = [];\r\n notificationDoc.map(data => {\r\n let notificationData: any = data.payload.doc.data();\r\n item.notifications.push(notificationData);\r\n });\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { AsapFeedBetaComponent } from './asap-feed-beta.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FeedItemComponent } from './feed-item/feed-item.component';\r\nimport { MomentModule } from 'ngx-moment';\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\nimport { AsapSkeletonModule } from 'asap-skeleton';\r\nimport { PipesModule } from './pipes/pipes.module';\r\nimport { NgxHmCarouselModule } from 'ngx-hm-carousel';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FeedCommentsComponent } from './feed-comments/feed-comments.component';\r\nimport { FeedActionsComponent } from './feed-actions/feed-actions.component';\r\nimport { FeedPublicationComponent } from './feed-publication/feed-publication.component';\r\nimport { FeedModalItemEditComponent } from './feed-publication/feed-modal-item-edit/feed-modal-item-edit.component';\r\nimport { UtilsService } from './services/utils.service';\r\nimport { StoriesComponent } from './stories/stories.component';\r\nimport { OwlModule } from 'ngx-owl-carousel';\r\nimport { CarouselModule } from 'ngx-owl-carousel-o';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ModalAnnounceComponent } from './feed-publication/modal-announce/modal-announce.component';\r\nimport { PopoverModule } from 'ngx-smart-popover';\r\nimport { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';\r\nimport { Global } from 'asap-crud';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { SwiperModule } from 'ngx-swiper-wrapper';\r\n\r\n// import { NgAisModule } from 'angular-instantsearch';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatMenuModule,\r\n MatListModule,\r\n MatCardModule,\r\n MatDialogModule,\r\n MatSelectModule,\r\n MatRadioModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n MatProgressBarModule,\r\n MatStepperModule,\r\n MomentModule,\r\n TranslateModule,\r\n InfiniteScrollModule,\r\n AsapSkeletonModule,\r\n PipesModule,\r\n NgxHmCarouselModule,\r\n OwlModule,\r\n CarouselModule,\r\n NgxSkeletonLoaderModule,\r\n PopoverModule,\r\n SwiperModule\r\n ],\r\n declarations: [\r\n AsapFeedBetaComponent,\r\n FeedItemComponent,\r\n FeedCommentsComponent,\r\n FeedActionsComponent,\r\n FeedPublicationComponent,\r\n FeedModalItemEditComponent,\r\n StoriesComponent,\r\n ModalAnnounceComponent\r\n ],\r\n exports: [\r\n AsapFeedBetaComponent,\r\n FeedItemComponent,\r\n TranslateModule\r\n ],\r\n entryComponents: [\r\n AsapFeedBetaComponent,\r\n FeedModalItemEditComponent,\r\n ModalAnnounceComponent\r\n ],\r\n providers: [\r\n UtilsService\r\n ]\r\n})\r\nexport class AsapFeedBetaModule {\r\n\r\n constructor(public global: Global) {\r\n console.log('[AsapFeedBetaModule]', new Date());\r\n this.global.getOrCreateSessionData('AsapMyPageModule.tabs',[]).push({\r\n label: 'Meus Posts',\r\n component: AsapFeedBetaComponent,\r\n condition: (component,type) => (this.global.loggedUser() && this.global.hasPermission('my-posts',type) && component.hasFeed),\r\n loading: (component) => component.loading\r\n });\r\n }\r\n}\r\n","import { Routes } from '@angular/router';\r\nimport { AsapFeedBetaComponent } from './asap-feed-beta.component';\r\n\r\nexport const AsapFeedBetaRoting: Routes = [\r\n {\r\n path: '',\r\n component: AsapFeedBetaComponent\r\n },\r\n {\r\n path: ':feed_id',\r\n component: AsapFeedBetaComponent\r\n }\r\n]"],"names":["Injectable","HttpClient","tslib_1.__values","Component","AngularFirestore","ActivatedRoute","Global","Input","HostListener","HttpRequest","HttpHeaders","AngularFireStorage","FirebaseApp","classToPlain","MatDialogRef","Inject","MAT_DIALOG_DATA","DomSanitizer","SwiperCore","Navigation","Pagination","MatDialog","ViewChild","Pipe","CurrencyPipe","NgModule","AsapService","TranslateService","tslib_1.__extends","Router","AsapBaseService","EventEmitter","Output","CommonModule","FormsModule","RouterModule","MatButtonModule","MatIconModule","MatMenuModule","MatListModule","MatCardModule","MatDialogModule","MatSelectModule","MatRadioModule","MatInputModule","MatTooltipModule","MatProgressBarModule","MatStepperModule","MomentModule","TranslateModule","InfiniteScrollModule","AsapSkeletonModule","NgxHmCarouselModule","OwlModule","CarouselModule","NgxSkeletonLoaderModule","PopoverModule","SwiperModule"],"mappings":"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"}
|