@banta/sdk 3.3.1 → 3.3.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.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('rxjs'), require('rxjs/operators'), require('@angular/core'), require('@angular/common'), require('@angular/platform-browser'), require('@angular/material/icon'), require('@angular/material/button'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/forms'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/material/menu'), require('@angular/material/progress-spinner'), require('@angular/cdk/text-field'), require('@angular/material/tooltip'), require('@banta/common'), require('@angular/material/select')) :
3
- typeof define === 'function' && define.amd ? define('@banta/sdk', ['exports', 'rxjs', 'rxjs/operators', '@angular/core', '@angular/common', '@angular/platform-browser', '@angular/material/icon', '@angular/material/button', '@angular/material/form-field', '@angular/material/input', '@angular/forms', '@angular/material/dialog', '@angular/router', '@angular/material/menu', '@angular/material/progress-spinner', '@angular/cdk/text-field', '@angular/material/tooltip', '@banta/common', '@angular/material/select'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.banta = global.banta || {}, global.banta.sdk = {}), global.rxjs, global.rxjs.operators, global.ng.core, global.ng.common, global.ng.platformBrowser, global.ng.material.icon, global.ng.material.button, global.ng.material.formField, global.ng.material.input, global.ng.forms, global.ng.material.dialog, global.ng.router, global.ng.material.menu, global.ng.material.progressSpinner, global.ng.cdk.textField, global.ng.material.tooltip, global.common$1, global.ng.material.select));
5
- }(this, (function (exports, rxjs, operators, core, common, platformBrowser, icon, button, formField, input, forms, dialog, router, menu, progressSpinner, textField, tooltip, common$1, select) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('rxjs'), require('rxjs/operators'), require('@angular/core'), require('@angular/common'), require('@angular/platform-browser'), require('@angular/material/icon'), require('@angular/material/button'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/forms'), require('@angular/material/dialog'), require('@banta/common'), require('@angular/router'), require('@angular/material/menu'), require('@angular/material/progress-spinner'), require('@angular/cdk/text-field'), require('@angular/material/tooltip'), require('@angular/material/select')) :
3
+ typeof define === 'function' && define.amd ? define('@banta/sdk', ['exports', 'rxjs', 'rxjs/operators', '@angular/core', '@angular/common', '@angular/platform-browser', '@angular/material/icon', '@angular/material/button', '@angular/material/form-field', '@angular/material/input', '@angular/forms', '@angular/material/dialog', '@banta/common', '@angular/router', '@angular/material/menu', '@angular/material/progress-spinner', '@angular/cdk/text-field', '@angular/material/tooltip', '@angular/material/select'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.banta = global.banta || {}, global.banta.sdk = {}), global.rxjs, global.rxjs.operators, global.ng.core, global.ng.common, global.ng.platformBrowser, global.ng.material.icon, global.ng.material.button, global.ng.material.formField, global.ng.material.input, global.ng.forms, global.ng.material.dialog, global.common$1, global.ng.router, global.ng.material.menu, global.ng.material.progressSpinner, global.ng.cdk.textField, global.ng.material.tooltip, global.ng.material.select));
5
+ }(this, (function (exports, rxjs, operators, core, common, platformBrowser, icon, button, formField, input, forms, dialog, common$1, router, menu, progressSpinner, textField, tooltip, select) { 'use strict';
6
6
 
7
7
  function lazyConnection(options) {
8
8
  var obs = new rxjs.Observable(function (observer) {
@@ -7951,8 +7951,9 @@
7951
7951
  configurable: true
7952
7952
  });
7953
7953
  BantaChatComponent.prototype.sendMessage = function () {
7954
+ var _a;
7954
7955
  return __awaiter(this, void 0, void 0, function () {
7955
- var text, message, e_1;
7956
+ var text, message, intercept, e_1;
7956
7957
  return __generator(this, function (_b) {
7957
7958
  switch (_b.label) {
7958
7959
  case 0:
@@ -7971,17 +7972,22 @@
7971
7972
  };
7972
7973
  _b.label = 1;
7973
7974
  case 1:
7974
- _b.trys.push([1, 3, , 4]);
7975
- return [4 /*yield*/, this.source.send(message)];
7975
+ _b.trys.push([1, 5, , 6]);
7976
+ return [4 /*yield*/, ((_a = this.shouldInterceptMessageSend) === null || _a === void 0 ? void 0 : _a.call(this, message))];
7976
7977
  case 2:
7977
- _b.sent();
7978
- return [3 /*break*/, 4];
7978
+ intercept = _b.sent();
7979
+ if (!!intercept) return [3 /*break*/, 4];
7980
+ return [4 /*yield*/, this.source.send(message)];
7979
7981
  case 3:
7982
+ _b.sent();
7983
+ _b.label = 4;
7984
+ case 4: return [3 /*break*/, 6];
7985
+ case 5:
7980
7986
  e_1 = _b.sent();
7981
7987
  console.error("Failed to send message: ", message);
7982
7988
  console.error(e_1);
7983
- return [3 /*break*/, 4];
7984
- case 4: return [2 /*return*/];
7989
+ return [3 /*break*/, 6];
7990
+ case 6: return [2 /*return*/];
7985
7991
  }
7986
7992
  });
7987
7993
  });
@@ -8001,6 +8007,7 @@
8001
8007
  { type: core.ElementRef }
8002
8008
  ]; };
8003
8009
  BantaChatComponent.propDecorators = {
8010
+ shouldInterceptMessageSend: [{ type: core.Input }],
8004
8011
  source: [{ type: core.Input }],
8005
8012
  topicID: [{ type: core.Input }],
8006
8013
  signInLabel: [{ type: core.Input }],
@@ -8522,6 +8529,7 @@
8522
8529
  this._usernameSelected = new rxjs.Subject();
8523
8530
  this._avatarSelected = new rxjs.Subject();
8524
8531
  this._subs = new rxjs.Subscription();
8532
+ this._sortOrder = common$1.CommentsOrder.NEWEST;
8525
8533
  this.hashtags = [
8526
8534
  { hashtag: 'error', description: 'Cause an error' },
8527
8535
  { hashtag: 'timeout', description: 'Cause a slow timeout error' },
@@ -8876,7 +8884,7 @@
8876
8884
  BantaCommentsComponent.decorators = [
8877
8885
  { type: core.Component, args: [{
8878
8886
  selector: 'banta-comments',
8879
- template: "\r\n<div class=\"focused\" [class.visible]=\"selectedMessageVisible\" *ngIf=\"selectedMessage\">\r\n\r\n <div>\r\n <a mat-button href=\"javascript:;\" (click)=\"unselectMessage()\">\r\n <mat-icon>arrow_back</mat-icon>\r\n Latest Comments\r\n </a>\r\n </div>\r\n\r\n <banta-comment\r\n [message]=\"selectedMessage\"\r\n ></banta-comment>\r\n\r\n <div class=\"replies\">\r\n\r\n <ng-container *ngIf=\"!selectedMessageThread\">\r\n <div class=\"loading\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"selectedMessageThread\">\r\n <banta-comment-view\r\n [source]=\"selectedMessageThread\"\r\n [allowReplies]=\"false\"\r\n [fixedHeight]=\"false\"\r\n [showEmptyState]=\"false\"\r\n [newestLast]=\"true\"\r\n ></banta-comment-view>\r\n\r\n <banta-comment-field\r\n [sendLabel]=\"replyLabel\"\r\n [sendingLabel]=\"sendingLabel\"\r\n [hashtags]=\"hashtags\"\r\n [participants]=\"participants\"\r\n (signInSelected)=\"showSignIn()\"\r\n (editAvatarSelected)=\"showEditAvatar()\"\r\n [source]=\"selectedMessageThread\"\r\n [canComment]=\"canComment\"\r\n [signInLabel]=\"signInLabel\"\r\n [permissionDeniedLabel]=\"permissionDeniedLabel\"\r\n (permissionDeniedError)=\"showPermissionDenied()\"\r\n [user]=\"user\"\r\n [label]=\"postReplyLabel\"\r\n ></banta-comment-field>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<div class=\"main\" [class.hidden]=\"selectedMessage\">\r\n <banta-comment-field\r\n [source]=\"source\"\r\n [user]=\"user\"\r\n [sendLabel]=\"sendLabel\"\r\n [sendingLabel]=\"sendingLabel\"\r\n [signInLabel]=\"signInLabel\"\r\n [canComment]=\"canComment\"\r\n [hashtags]=\"hashtags\"\r\n [participants]=\"participants\"\r\n [label]=\"postCommentLabel\"\r\n (editAvatarSelected)=\"showEditAvatar()\"\r\n (signInSelected)=\"showSignIn()\"\r\n [permissionDeniedLabel]=\"permissionDeniedLabel\"\r\n (permissionDeniedError)=\"showPermissionDenied()\"\r\n ></banta-comment-field>\r\n\r\n <banta-comment-sort\r\n [(sort)]=\"sortOrder\"></banta-comment-sort>\r\n\r\n <banta-comment-view\r\n [class.faded]=\"selectedMessage\"\r\n [source]=\"source\"\r\n [fixedHeight]=\"fixedHeight\"\r\n [maxMessages]=\"maxMessages\"\r\n [maxVisibleMessages]=\"maxVisibleMessages\"\r\n [genericAvatarUrl]=\"genericAvatarUrl\"\r\n (userSelected)=\"selectMessageUser($event)\"\r\n (selected)=\"selectMessage($event)\"\r\n (upvoted)=\"upvoteMessage($event)\"\r\n (reported)=\"reportMessage($event)\"\r\n (usernameSelected)=\"selectUsername($event)\"\r\n (avatarSelected)=\"selectAvatar($event)\"\r\n (shared)=\"shareMessage($event)\"\r\n ></banta-comment-view>\r\n</div>\r\n",
8887
+ template: "\r\n<div class=\"focused\" [class.visible]=\"selectedMessageVisible\" *ngIf=\"selectedMessage\">\r\n\r\n <div>\r\n <a mat-button href=\"javascript:;\" (click)=\"unselectMessage()\">\r\n <mat-icon>arrow_back</mat-icon>\r\n Latest Comments\r\n </a>\r\n </div>\r\n\r\n <banta-comment\r\n [message]=\"selectedMessage\"\r\n ></banta-comment>\r\n\r\n <div class=\"replies\">\r\n\r\n <ng-container *ngIf=\"!selectedMessageThread\">\r\n <div class=\"loading\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"selectedMessageThread\">\r\n <banta-comment-view\r\n [source]=\"selectedMessageThread\"\r\n [allowReplies]=\"false\"\r\n [fixedHeight]=\"false\"\r\n [showEmptyState]=\"false\"\r\n [newestLast]=\"true\"\r\n ></banta-comment-view>\r\n\r\n <banta-comment-field\r\n [sendLabel]=\"replyLabel\"\r\n [sendingLabel]=\"sendingLabel\"\r\n [hashtags]=\"hashtags\"\r\n [participants]=\"participants\"\r\n (signInSelected)=\"showSignIn()\"\r\n (editAvatarSelected)=\"showEditAvatar()\"\r\n [source]=\"selectedMessageThread\"\r\n [canComment]=\"canComment\"\r\n [signInLabel]=\"signInLabel\"\r\n [permissionDeniedLabel]=\"permissionDeniedLabel\"\r\n (permissionDeniedError)=\"showPermissionDenied()\"\r\n [shouldInterceptMessageSend]=\"shouldInterceptMessageSend\"\r\n [user]=\"user\"\r\n [label]=\"postReplyLabel\"\r\n ></banta-comment-field>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<div class=\"main\" [class.hidden]=\"selectedMessage\">\r\n <banta-comment-field\r\n [source]=\"source\"\r\n [user]=\"user\"\r\n [sendLabel]=\"sendLabel\"\r\n [sendingLabel]=\"sendingLabel\"\r\n [signInLabel]=\"signInLabel\"\r\n [canComment]=\"canComment\"\r\n [hashtags]=\"hashtags\"\r\n [participants]=\"participants\"\r\n [label]=\"postCommentLabel\"\r\n (editAvatarSelected)=\"showEditAvatar()\"\r\n (signInSelected)=\"showSignIn()\"\r\n [permissionDeniedLabel]=\"permissionDeniedLabel\"\r\n (permissionDeniedError)=\"showPermissionDenied()\"\r\n [shouldInterceptMessageSend]=\"shouldInterceptMessageSend\"\r\n ></banta-comment-field>\r\n\r\n <banta-comment-sort\r\n [(sort)]=\"sortOrder\"></banta-comment-sort>\r\n\r\n <banta-comment-view\r\n [class.faded]=\"selectedMessage\"\r\n [source]=\"source\"\r\n [fixedHeight]=\"fixedHeight\"\r\n [maxMessages]=\"maxMessages\"\r\n [maxVisibleMessages]=\"maxVisibleMessages\"\r\n [genericAvatarUrl]=\"genericAvatarUrl\"\r\n (userSelected)=\"selectMessageUser($event)\"\r\n (selected)=\"selectMessage($event)\"\r\n (upvoted)=\"upvoteMessage($event)\"\r\n (reported)=\"reportMessage($event)\"\r\n (usernameSelected)=\"selectUsername($event)\"\r\n (avatarSelected)=\"selectAvatar($event)\"\r\n (shared)=\"shareMessage($event)\"\r\n ></banta-comment-view>\r\n</div>\r\n",
8880
8888
  styles: [":host{display:flex;flex-direction:column}@-webkit-keyframes select-comment{0%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes select-comment{0%{transform:scale(1.15)}to{transform:scale(1)}}.focused{-webkit-animation-duration:.4s;-webkit-animation-fill-mode:both;-webkit-animation-name:select-comment;animation-duration:.4s;animation-fill-mode:both;animation-name:select-comment}.focused .replies{margin-left:4em;margin-top:1em}banta-comment-view{opacity:1;transition:opacity .4s ease-in-out}banta-comment-view.faded{opacity:.25}.loading{display:block;margin:0 auto;min-height:16em;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.main.hidden{display:none}@media (max-width:500px){.focused .replies{margin-left:0}}"]
8881
8889
  },] }
8882
8890
  ];
@@ -8894,6 +8902,7 @@
8894
8902
  maxMessages: [{ type: core.Input }],
8895
8903
  maxVisibleMessages: [{ type: core.Input }],
8896
8904
  genericAvatarUrl: [{ type: core.Input }],
8905
+ shouldInterceptMessageSend: [{ type: core.Input }],
8897
8906
  topicID: [{ type: core.Input }],
8898
8907
  signInLabel: [{ type: core.Input }],
8899
8908
  sendLabel: [{ type: core.Input }],
@@ -9058,7 +9067,7 @@
9058
9067
  CommentFieldComponent.prototype.autocomplete = function (replacement) {
9059
9068
  return __awaiter(this, void 0, void 0, function () {
9060
9069
  var el;
9061
- return __generator(this, function (_a) {
9070
+ return __generator(this, function (_b) {
9062
9071
  el = this.textareaEl.nativeElement;
9063
9072
  this.text = this.text.slice(0, el.selectionStart - this.completionPrefix.length) + replacement + this.text.slice(el.selectionStart);
9064
9073
  return [2 /*return*/];
@@ -9068,7 +9077,7 @@
9068
9077
  CommentFieldComponent.prototype.insert = function (str) {
9069
9078
  return __awaiter(this, void 0, void 0, function () {
9070
9079
  var el;
9071
- return __generator(this, function (_a) {
9080
+ return __generator(this, function (_b) {
9072
9081
  el = this.textareaEl.nativeElement;
9073
9082
  this.text = this.text.slice(0, el.selectionStart) + str + this.text.slice(el.selectionStart);
9074
9083
  return [2 /*return*/];
@@ -9078,8 +9087,8 @@
9078
9087
  CommentFieldComponent.prototype.onKeyDown = function (event) {
9079
9088
  return __awaiter(this, void 0, void 0, function () {
9080
9089
  var _this = this;
9081
- return __generator(this, function (_a) {
9082
- switch (_a.label) {
9090
+ return __generator(this, function (_b) {
9091
+ switch (_b.label) {
9083
9092
  case 0:
9084
9093
  console.log(event.key);
9085
9094
  if (this.autocompleteVisible) {
@@ -9115,7 +9124,7 @@
9115
9124
  if (!(event.key === 'Enter' && event.ctrlKey)) return [3 /*break*/, 2];
9116
9125
  return [4 /*yield*/, this.sendMessage()];
9117
9126
  case 1:
9118
- _a.sent();
9127
+ _b.sent();
9119
9128
  return [2 /*return*/];
9120
9129
  case 2:
9121
9130
  if (this.completionFunc) {
@@ -9198,18 +9207,19 @@
9198
9207
  this.editAvatarSelected.next();
9199
9208
  };
9200
9209
  CommentFieldComponent.prototype.sendMessage = function () {
9210
+ var _a;
9201
9211
  return __awaiter(this, void 0, void 0, function () {
9202
- var text, message, e_1;
9203
- return __generator(this, function (_a) {
9204
- switch (_a.label) {
9212
+ var text, message, intercept, e_1;
9213
+ return __generator(this, function (_b) {
9214
+ switch (_b.label) {
9205
9215
  case 0:
9206
9216
  if (!this.source)
9207
9217
  return [2 /*return*/];
9208
9218
  this.sending = true;
9209
9219
  this.sendError = null;
9210
- _a.label = 1;
9220
+ _b.label = 1;
9211
9221
  case 1:
9212
- _a.trys.push([1, , 6, 7]);
9222
+ _b.trys.push([1, , 8, 9]);
9213
9223
  text = (this.text || '').trim();
9214
9224
  if (text === '')
9215
9225
  return [2 /*return*/];
@@ -9220,25 +9230,31 @@
9220
9230
  upvotes: 0,
9221
9231
  message: text
9222
9232
  };
9223
- _a.label = 2;
9233
+ _b.label = 2;
9224
9234
  case 2:
9225
- _a.trys.push([2, 4, , 5]);
9226
- return [4 /*yield*/, this.source.send(message)];
9235
+ _b.trys.push([2, 6, , 7]);
9236
+ return [4 /*yield*/, ((_a = this.shouldInterceptMessageSend) === null || _a === void 0 ? void 0 : _a.call(this, message))];
9227
9237
  case 3:
9228
- _a.sent();
9229
- this.text = '';
9230
- return [3 /*break*/, 5];
9238
+ intercept = _b.sent();
9239
+ if (!!intercept) return [3 /*break*/, 5];
9240
+ return [4 /*yield*/, this.source.send(message)];
9231
9241
  case 4:
9232
- e_1 = _a.sent();
9242
+ _b.sent();
9243
+ _b.label = 5;
9244
+ case 5:
9245
+ this.text = '';
9246
+ return [3 /*break*/, 7];
9247
+ case 6:
9248
+ e_1 = _b.sent();
9233
9249
  this.indicateError("Could not send: " + e_1.message);
9234
9250
  console.error("Failed to send message: ", message);
9235
9251
  console.error(e_1);
9236
- return [3 /*break*/, 5];
9237
- case 5: return [3 /*break*/, 7];
9238
- case 6:
9252
+ return [3 /*break*/, 7];
9253
+ case 7: return [3 /*break*/, 9];
9254
+ case 8:
9239
9255
  this.sending = false;
9240
9256
  return [7 /*endfinally*/];
9241
- case 7: return [2 /*return*/];
9257
+ case 9: return [2 /*return*/];
9242
9258
  }
9243
9259
  });
9244
9260
  });
@@ -9264,6 +9280,7 @@
9264
9280
  permissionDeniedLabel: [{ type: core.Input }],
9265
9281
  signInLabel: [{ type: core.Input }],
9266
9282
  placeholder: [{ type: core.Input }],
9283
+ shouldInterceptMessageSend: [{ type: core.Input }],
9267
9284
  autocompleteEl: [{ type: core.ViewChild, args: ['autocomplete',] }],
9268
9285
  autocompleteContainerEl: [{ type: core.ViewChild, args: ['autocompleteContainer',] }],
9269
9286
  textareaEl: [{ type: core.ViewChild, args: ['textarea',] }],
@@ -9415,6 +9432,7 @@
9415
9432
  exports.ChatViewComponent = ChatViewComponent;
9416
9433
  exports.CommentComponent = CommentComponent;
9417
9434
  exports.CommentFieldComponent = CommentFieldComponent;
9435
+ exports.CommentSortComponent = CommentSortComponent;
9418
9436
  exports.CommentViewComponent = CommentViewComponent;
9419
9437
  exports.CommentsModule = CommentsModule;
9420
9438
  exports.EMOJIS = EMOJIS;