Added email type options to rules
This commit is contained in:
parent
9bfc7baba9
commit
21fbfd0335
24 changed files with 956 additions and 2247 deletions
|
@ -34,7 +34,10 @@ class RuleController extends Controller
|
||||||
'name' => $request->name,
|
'name' => $request->name,
|
||||||
'conditions' => $conditions,
|
'conditions' => $conditions,
|
||||||
'actions' => $actions,
|
'actions' => $actions,
|
||||||
'operator' => $request->operator
|
'operator' => $request->operator,
|
||||||
|
'forwards' => $request->forwards ?? false,
|
||||||
|
'replies' => $request->replies ?? false,
|
||||||
|
'sends' => $request->sends ?? false
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return new RuleResource($rule->refresh());
|
return new RuleResource($rule->refresh());
|
||||||
|
@ -56,7 +59,10 @@ class RuleController extends Controller
|
||||||
'name' => $request->name,
|
'name' => $request->name,
|
||||||
'conditions' => $conditions,
|
'conditions' => $conditions,
|
||||||
'actions' => $actions,
|
'actions' => $actions,
|
||||||
'operator' => $request->operator
|
'operator' => $request->operator,
|
||||||
|
'forwards' => $request->forwards ?? false,
|
||||||
|
'replies' => $request->replies ?? false,
|
||||||
|
'sends' => $request->sends ?? false
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return new RuleResource($rule->refresh());
|
return new RuleResource($rule->refresh());
|
||||||
|
|
|
@ -89,7 +89,10 @@ class StoreRuleRequest extends FormRequest
|
||||||
'operator' => [
|
'operator' => [
|
||||||
'required',
|
'required',
|
||||||
'in:AND,OR'
|
'in:AND,OR'
|
||||||
]
|
],
|
||||||
|
'forwards' => 'boolean',
|
||||||
|
'replies' => 'boolean',
|
||||||
|
'sends' => 'boolean'
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,9 @@ class RuleResource extends JsonResource
|
||||||
'conditions' => $this->conditions,
|
'conditions' => $this->conditions,
|
||||||
'actions' => $this->actions,
|
'actions' => $this->actions,
|
||||||
'operator' => $this->operator,
|
'operator' => $this->operator,
|
||||||
|
'forwards' => $this->forwards,
|
||||||
|
'replies' => $this->replies,
|
||||||
|
'sends' => $this->sends,
|
||||||
'active' => $this->active,
|
'active' => $this->active,
|
||||||
'created_at' => $this->created_at->toDateTimeString(),
|
'created_at' => $this->created_at->toDateTimeString(),
|
||||||
'updated_at' => $this->updated_at->toDateTimeString(),
|
'updated_at' => $this->updated_at->toDateTimeString(),
|
||||||
|
|
|
@ -250,7 +250,7 @@ class ForwardEmail extends Mailable implements ShouldQueue, ShouldBeEncrypted
|
||||||
|
|
||||||
$this->replacedSubject = $this->user->email_subject ? ' with subject "' . base64_decode($this->emailSubject) . '"' : null;
|
$this->replacedSubject = $this->user->email_subject ? ' with subject "' . base64_decode($this->emailSubject) . '"' : null;
|
||||||
|
|
||||||
$this->checkRules();
|
$this->checkRules('Forwards');
|
||||||
|
|
||||||
$this->email->with([
|
$this->email->with([
|
||||||
'location' => $this->bannerLocation,
|
'location' => $this->bannerLocation,
|
||||||
|
|
|
@ -166,7 +166,7 @@ class ReplyToEmail extends Mailable implements ShouldQueue, ShouldBeEncrypted
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->checkRules();
|
$this->checkRules('Replies');
|
||||||
|
|
||||||
$this->email->with([
|
$this->email->with([
|
||||||
'shouldBlock' => $this->size === 0
|
'shouldBlock' => $this->size === 0
|
||||||
|
|
|
@ -152,7 +152,7 @@ class SendFromEmail extends Mailable implements ShouldQueue, ShouldBeEncrypted
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->checkRules();
|
$this->checkRules('Sends');
|
||||||
|
|
||||||
$this->email->with([
|
$this->email->with([
|
||||||
'shouldBlock' => $this->size === 0
|
'shouldBlock' => $this->size === 0
|
||||||
|
|
|
@ -19,6 +19,9 @@ class Rule extends Model
|
||||||
'conditions',
|
'conditions',
|
||||||
'actions',
|
'actions',
|
||||||
'operator',
|
'operator',
|
||||||
|
'forwards',
|
||||||
|
'replies',
|
||||||
|
'sends',
|
||||||
'active',
|
'active',
|
||||||
'order'
|
'order'
|
||||||
];
|
];
|
||||||
|
@ -32,6 +35,9 @@ class Rule extends Model
|
||||||
'id' => 'string',
|
'id' => 'string',
|
||||||
'user_id' => 'string',
|
'user_id' => 'string',
|
||||||
'active' => 'boolean',
|
'active' => 'boolean',
|
||||||
|
'forwards' => 'boolean',
|
||||||
|
'replies' => 'boolean',
|
||||||
|
'sends' => 'boolean',
|
||||||
'conditions' => 'array',
|
'conditions' => 'array',
|
||||||
'actions' => 'array'
|
'actions' => 'array'
|
||||||
];
|
];
|
||||||
|
|
|
@ -195,6 +195,30 @@ class User extends Authenticatable implements MustVerifyEmail
|
||||||
return $this->rules()->where('active', true)->orderBy('order');
|
return $this->rules()->where('active', true)->orderBy('order');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all of the user's active rules in the correct order that should be run of forwards.
|
||||||
|
*/
|
||||||
|
public function activeRulesForForwardsOrdered()
|
||||||
|
{
|
||||||
|
return $this->rules()->where('active', true)->where('forwards', true)->orderBy('order');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all of the user's active rules in the correct order that should be run of forwards.
|
||||||
|
*/
|
||||||
|
public function activeRulesForRepliesOrdered()
|
||||||
|
{
|
||||||
|
return $this->rules()->where('active', true)->where('replies', true)->orderBy('order');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all of the user's active rules in the correct order that should be run of forwards.
|
||||||
|
*/
|
||||||
|
public function activeRulesForSendsOrdered()
|
||||||
|
{
|
||||||
|
return $this->rules()->where('active', true)->where('sends', true)->orderBy('order');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all of the user's additional usernames.
|
* Get all of the user's additional usernames.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -6,9 +6,10 @@ use Illuminate\Support\Str;
|
||||||
|
|
||||||
trait CheckUserRules
|
trait CheckUserRules
|
||||||
{
|
{
|
||||||
public function checkRules()
|
public function checkRules(String $emailType)
|
||||||
{
|
{
|
||||||
$this->user->activeRulesOrdered()->each(function ($rule) {
|
$method = "activeRulesFor{$emailType}Ordered";
|
||||||
|
$this->user->{$method}->each(function ($rule) {
|
||||||
// Check if the conditions of the rule are satisfied
|
// Check if the conditions of the rule are satisfied
|
||||||
if ($this->ruleConditionsSatisfied($rule->conditions, $rule->operator)) {
|
if ($this->ruleConditionsSatisfied($rule->conditions, $rule->operator)) {
|
||||||
// Apply actions for that rule
|
// Apply actions for that rule
|
||||||
|
|
783
composer.lock
generated
783
composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -5,9 +5,9 @@ current:
|
||||||
major: 0
|
major: 0
|
||||||
minor: 8
|
minor: 8
|
||||||
patch: 7
|
patch: 7
|
||||||
prerelease: 2-g339af30
|
prerelease: 3-g9bfc7ba
|
||||||
buildmetadata: ''
|
buildmetadata: ''
|
||||||
commit: 339af3
|
commit: 9bfc7b
|
||||||
timestamp:
|
timestamp:
|
||||||
year: 2020
|
year: 2020
|
||||||
month: 10
|
month: 10
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class AddEmailTypesToRulesTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::table('rules', function (Blueprint $table) {
|
||||||
|
$table->boolean('sends')->after('operator')->default(false);
|
||||||
|
$table->boolean('replies')->after('operator')->default(false);
|
||||||
|
$table->boolean('forwards')->after('operator')->default(false);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::table('rules', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('sends');
|
||||||
|
$table->dropColumn('replies');
|
||||||
|
$table->dropColumn('forwards');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
394
package-lock.json
generated
394
package-lock.json
generated
|
@ -1589,9 +1589,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@discoveryjs/json-ext": {
|
"node_modules/@discoveryjs/json-ext": {
|
||||||
"version": "0.5.5",
|
"version": "0.5.6",
|
||||||
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz",
|
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz",
|
||||||
"integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==",
|
"integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
}
|
}
|
||||||
|
@ -1629,9 +1629,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@popperjs/core": {
|
"node_modules/@popperjs/core": {
|
||||||
"version": "2.10.2",
|
"version": "2.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz",
|
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.0.tgz",
|
||||||
"integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==",
|
"integrity": "sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ==",
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
"url": "https://opencollective.com/popperjs"
|
"url": "https://opencollective.com/popperjs"
|
||||||
|
@ -1791,9 +1791,9 @@
|
||||||
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
|
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "16.11.10",
|
"version": "16.11.11",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.10.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.11.tgz",
|
||||||
"integrity": "sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA=="
|
"integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw=="
|
||||||
},
|
},
|
||||||
"node_modules/@types/parse-json": {
|
"node_modules/@types/parse-json": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
|
@ -2827,9 +2827,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/caniuse-lite": {
|
"node_modules/caniuse-lite": {
|
||||||
"version": "1.0.30001283",
|
"version": "1.0.30001284",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001284.tgz",
|
||||||
"integrity": "sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg==",
|
"integrity": "sha512-t28SKa7g6kiIQi6NHeOcKrOrGMzCRrXvlasPwWC26TH2QNdglgzQIRUuJ0cR3NeQPH+5jpuveeeSFDLm2zbkEw==",
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
"url": "https://opencollective.com/browserslist"
|
"url": "https://opencollective.com/browserslist"
|
||||||
|
@ -2989,9 +2989,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/collect.js": {
|
"node_modules/collect.js": {
|
||||||
"version": "4.29.0",
|
"version": "4.29.3",
|
||||||
"resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.29.0.tgz",
|
"resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.29.3.tgz",
|
||||||
"integrity": "sha512-yhgGYEsLEcqnLT1NmRlN1+1euoz9SDhxQ4QyDhWYsKoWsg7252PKA5++dWaDs8mdFxbkmXDXQUaHXI9J2eTPkQ=="
|
"integrity": "sha512-/6idZ7r3B25Q4cForbiHJ7+aqupcgMEtrKRn9D3viCbLw+YuNFjd23HwDH89Y2cU4jlhkwksD80nZFKtNE25Gw=="
|
||||||
},
|
},
|
||||||
"node_modules/color": {
|
"node_modules/color": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
|
@ -3019,9 +3019,9 @@
|
||||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||||
},
|
},
|
||||||
"node_modules/color-string": {
|
"node_modules/color-string": {
|
||||||
"version": "1.7.4",
|
"version": "1.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.7.4.tgz",
|
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz",
|
||||||
"integrity": "sha512-nVdUvPVgZMpRQad5dcsCMOSB5BXLljklTiaxS6ehhKxDsAI5sD7k5VmFuBt1y3Rlym8uulc/ANUN/bMWtBu6Sg==",
|
"integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"color-name": "^1.0.0",
|
"color-name": "^1.0.0",
|
||||||
"simple-swizzle": "^0.2.2"
|
"simple-swizzle": "^0.2.2"
|
||||||
|
@ -3208,11 +3208,11 @@
|
||||||
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
|
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
|
||||||
},
|
},
|
||||||
"node_modules/core-js-compat": {
|
"node_modules/core-js-compat": {
|
||||||
"version": "3.19.1",
|
"version": "3.19.2",
|
||||||
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.1.tgz",
|
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.2.tgz",
|
||||||
"integrity": "sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g==",
|
"integrity": "sha512-ObBY1W5vx/LFFMaL1P5Udo4Npib6fu+cMokeziWkA8Tns4FcDemKF5j9JvaI5JhdkW8EQJQGJN1EcrzmEwuAqQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.17.6",
|
"browserslist": "^4.18.1",
|
||||||
"semver": "7.0.0"
|
"semver": "7.0.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
|
@ -3411,9 +3411,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/css-select/node_modules/domhandler": {
|
"node_modules/css-select/node_modules/domhandler": {
|
||||||
"version": "4.2.2",
|
"version": "4.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
|
||||||
"integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
|
"integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"domelementtype": "^2.2.0"
|
"domelementtype": "^2.2.0"
|
||||||
},
|
},
|
||||||
|
@ -3472,11 +3472,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/cssnano": {
|
"node_modules/cssnano": {
|
||||||
"version": "5.0.11",
|
"version": "5.0.12",
|
||||||
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.11.tgz",
|
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.12.tgz",
|
||||||
"integrity": "sha512-5SHM31NAAe29jvy0MJqK40zZ/8dGlnlzcfHKw00bWMVFp8LWqtuyPSFwbaoIoxvt71KWJOfg8HMRGrBR3PExCg==",
|
"integrity": "sha512-U38V4x2iJ3ijPdeWqUrEr4eKBB5PbEKsNP5T8xcik2Au3LeMtiMHX0i2Hu9k51FcKofNZumbrcdC6+a521IUHg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cssnano-preset-default": "^5.1.7",
|
"cssnano-preset-default": "^5.1.8",
|
||||||
"is-resolvable": "^1.1.0",
|
"is-resolvable": "^1.1.0",
|
||||||
"lilconfig": "^2.0.3",
|
"lilconfig": "^2.0.3",
|
||||||
"yaml": "^1.10.2"
|
"yaml": "^1.10.2"
|
||||||
|
@ -3493,9 +3493,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/cssnano-preset-default": {
|
"node_modules/cssnano-preset-default": {
|
||||||
"version": "5.1.7",
|
"version": "5.1.8",
|
||||||
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.8.tgz",
|
||||||
"integrity": "sha512-bWDjtTY+BOqrqBtsSQIbN0RLGD2Yr2CnecpP0ydHNafh9ZUEre8c8VYTaH9FEbyOt0eIfEUAYYk5zj92ioO8LA==",
|
"integrity": "sha512-zWMlP0+AMPBVE852SqTrP0DnhTcTA2C1wAF92TKZ3Va+aUVqLIhkqKlnJIXXdqXD7RN+S1ujuWmNpvrJBiM/vg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"css-declaration-sorter": "^6.0.3",
|
"css-declaration-sorter": "^6.0.3",
|
||||||
"cssnano-utils": "^2.0.1",
|
"cssnano-utils": "^2.0.1",
|
||||||
|
@ -3522,7 +3522,7 @@
|
||||||
"postcss-normalize-url": "^5.0.3",
|
"postcss-normalize-url": "^5.0.3",
|
||||||
"postcss-normalize-whitespace": "^5.0.1",
|
"postcss-normalize-whitespace": "^5.0.1",
|
||||||
"postcss-ordered-values": "^5.0.2",
|
"postcss-ordered-values": "^5.0.2",
|
||||||
"postcss-reduce-initial": "^5.0.1",
|
"postcss-reduce-initial": "^5.0.2",
|
||||||
"postcss-reduce-transforms": "^5.0.1",
|
"postcss-reduce-transforms": "^5.0.1",
|
||||||
"postcss-svgo": "^5.0.3",
|
"postcss-svgo": "^5.0.3",
|
||||||
"postcss-unique-selectors": "^5.0.2"
|
"postcss-unique-selectors": "^5.0.2"
|
||||||
|
@ -3557,9 +3557,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/date-fns": {
|
"node_modules/date-fns": {
|
||||||
"version": "2.26.0",
|
"version": "2.27.0",
|
||||||
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.26.0.tgz",
|
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.27.0.tgz",
|
||||||
"integrity": "sha512-VQI812dRi3cusdY/fhoBKvc6l2W8BPWU1FNVnFH9Nttjx4AFBRzfSVb/Eyc7jBT6e9sg1XtAGsYpBQ6c/jygbg==",
|
"integrity": "sha512-sj+J0Mo2p2X1e306MHq282WS4/A8Pz/95GIFcsPNMPMZVI3EUrAdSv90al1k+p74WGLCruMXk23bfEDZa71X9Q==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.11"
|
"node": ">=0.11"
|
||||||
},
|
},
|
||||||
|
@ -3579,9 +3579,9 @@
|
||||||
"integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0="
|
"integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0="
|
||||||
},
|
},
|
||||||
"node_modules/debug": {
|
"node_modules/debug": {
|
||||||
"version": "4.3.2",
|
"version": "4.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
|
||||||
"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
|
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ms": "2.1.2"
|
"ms": "2.1.2"
|
||||||
},
|
},
|
||||||
|
@ -3800,9 +3800,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/dom-serializer/node_modules/domhandler": {
|
"node_modules/dom-serializer/node_modules/domhandler": {
|
||||||
"version": "4.2.2",
|
"version": "4.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
|
||||||
"integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
|
"integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"domelementtype": "^2.2.0"
|
"domelementtype": "^2.2.0"
|
||||||
},
|
},
|
||||||
|
@ -3861,9 +3861,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/domutils/node_modules/domhandler": {
|
"node_modules/domutils/node_modules/domhandler": {
|
||||||
"version": "4.2.2",
|
"version": "4.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
|
||||||
"integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
|
"integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"domelementtype": "^2.2.0"
|
"domelementtype": "^2.2.0"
|
||||||
},
|
},
|
||||||
|
@ -3902,9 +3902,9 @@
|
||||||
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
|
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.4.3",
|
"version": "1.4.10",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.10.tgz",
|
||||||
"integrity": "sha512-hfpppjYhqIZB8jrNb0rNceQRkSnBN7QJl3W26O1jUv3F3BkQknqy1YTqVXkFnIcFtBc3Qnv5M7r5Lez2iOLgZA=="
|
"integrity": "sha512-tFgA40Iq2oy4k2PnZrLJowbgpij+lD6ZLxkw8Ht1NKTYyN8dvSvC5xlo8X0WW2jqhKSzITrbr5mpB4/AZ/8OUA=="
|
||||||
},
|
},
|
||||||
"node_modules/elliptic": {
|
"node_modules/elliptic": {
|
||||||
"version": "6.5.4",
|
"version": "6.5.4",
|
||||||
|
@ -4821,9 +4821,9 @@
|
||||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
||||||
},
|
},
|
||||||
"node_modules/http-parser-js": {
|
"node_modules/http-parser-js": {
|
||||||
"version": "0.5.3",
|
"version": "0.5.5",
|
||||||
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz",
|
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz",
|
||||||
"integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg=="
|
"integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA=="
|
||||||
},
|
},
|
||||||
"node_modules/http-proxy": {
|
"node_modules/http-proxy": {
|
||||||
"version": "1.18.1",
|
"version": "1.18.1",
|
||||||
|
@ -5380,9 +5380,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jest-worker": {
|
"node_modules/jest-worker": {
|
||||||
"version": "27.3.1",
|
"version": "27.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.2.tgz",
|
||||||
"integrity": "sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==",
|
"integrity": "sha512-0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"merge-stream": "^2.0.0",
|
"merge-stream": "^2.0.0",
|
||||||
|
@ -6145,14 +6145,6 @@
|
||||||
"which": "^2.0.2"
|
"which": "^2.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/node-notifier/node_modules/uuid": {
|
|
||||||
"version": "8.3.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
|
||||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
|
||||||
"bin": {
|
|
||||||
"uuid": "dist/bin/uuid"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/node-releases": {
|
"node_modules/node-releases": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
|
||||||
|
@ -6640,9 +6632,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.4.1",
|
"version": "8.4.4",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.4.tgz",
|
||||||
"integrity": "sha512-WqLs/TTzXdG+/A4ZOOK9WDZiikrRaiA+eoEb/jz2DT9KUhMNHgP7yKPO8vwi62ZCsb703Gwb7BMZwDzI54Y2Ag==",
|
"integrity": "sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nanoid": "^3.1.30",
|
"nanoid": "^3.1.30",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
|
@ -6801,12 +6793,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-loader": {
|
"node_modules/postcss-loader": {
|
||||||
"version": "6.2.0",
|
"version": "6.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz",
|
||||||
"integrity": "sha512-H9hv447QjQJVDbHj3OUdciyAXY3v5+UDduzEytAlZCVHCpNAAg/mCSwhYYqZr9BiGYhmYspU8QXxZwiHTLn3yA==",
|
"integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cosmiconfig": "^7.0.0",
|
"cosmiconfig": "^7.0.0",
|
||||||
"klona": "^2.0.4",
|
"klona": "^2.0.5",
|
||||||
"semver": "^7.3.5"
|
"semver": "^7.3.5"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -7133,11 +7125,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-reduce-initial": {
|
"node_modules/postcss-reduce-initial": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz",
|
||||||
"integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==",
|
"integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.16.0",
|
"browserslist": "^4.16.6",
|
||||||
"caniuse-api": "^3.0.0"
|
"caniuse-api": "^3.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -7205,9 +7197,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-value-parser": {
|
"node_modules/postcss-value-parser": {
|
||||||
"version": "4.1.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
|
||||||
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ=="
|
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
|
||||||
},
|
},
|
||||||
"node_modules/prettier": {
|
"node_modules/prettier": {
|
||||||
"version": "2.5.0",
|
"version": "2.5.0",
|
||||||
|
@ -7299,25 +7291,25 @@
|
||||||
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
|
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
|
||||||
},
|
},
|
||||||
"node_modules/purgecss": {
|
"node_modules/purgecss": {
|
||||||
"version": "4.0.3",
|
"version": "4.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz",
|
||||||
"integrity": "sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==",
|
"integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"commander": "^6.0.0",
|
"commander": "^8.0.0",
|
||||||
"glob": "^7.0.0",
|
"glob": "^7.1.7",
|
||||||
"postcss": "^8.2.1",
|
"postcss": "^8.3.5",
|
||||||
"postcss-selector-parser": "^6.0.2"
|
"postcss-selector-parser": "^6.0.6"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"purgecss": "bin/purgecss.js"
|
"purgecss": "bin/purgecss.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/purgecss/node_modules/commander": {
|
"node_modules/purgecss/node_modules/commander": {
|
||||||
"version": "6.2.1",
|
"version": "8.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
|
||||||
"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
|
"integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6"
|
"node": ">= 12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/qs": {
|
"node_modules/qs": {
|
||||||
|
@ -8090,12 +8082,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/sockjs": {
|
"node_modules/sockjs": {
|
||||||
"version": "0.3.21",
|
"version": "0.3.24",
|
||||||
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz",
|
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
|
||||||
"integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==",
|
"integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"faye-websocket": "^0.11.3",
|
"faye-websocket": "^0.11.3",
|
||||||
"uuid": "^3.4.0",
|
"uuid": "^8.3.2",
|
||||||
"websocket-driver": "^0.7.4"
|
"websocket-driver": "^0.7.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -8737,12 +8729,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/uuid": {
|
"node_modules/uuid": {
|
||||||
"version": "3.4.0",
|
"version": "8.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||||
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
|
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
||||||
"deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"uuid": "bin/uuid"
|
"uuid": "dist/bin/uuid"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/v-clipboard": {
|
"node_modules/v-clipboard": {
|
||||||
|
@ -9349,28 +9340,28 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/yargs": {
|
"node_modules/yargs": {
|
||||||
"version": "17.2.1",
|
"version": "17.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.0.tgz",
|
||||||
"integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==",
|
"integrity": "sha512-GQl1pWyDoGptFPJx9b9L6kmR33TGusZvXIZUT+BOz9f7X2L94oeAskFYLEg/FkhV06zZPBYLvLZRWeYId29lew==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cliui": "^7.0.2",
|
"cliui": "^7.0.2",
|
||||||
"escalade": "^3.1.1",
|
"escalade": "^3.1.1",
|
||||||
"get-caller-file": "^2.0.5",
|
"get-caller-file": "^2.0.5",
|
||||||
"require-directory": "^2.1.1",
|
"require-directory": "^2.1.1",
|
||||||
"string-width": "^4.2.0",
|
"string-width": "^4.2.3",
|
||||||
"y18n": "^5.0.5",
|
"y18n": "^5.0.5",
|
||||||
"yargs-parser": "^20.2.2"
|
"yargs-parser": "^21.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/yargs-parser": {
|
"node_modules/yargs-parser": {
|
||||||
"version": "20.2.9",
|
"version": "21.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
|
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz",
|
||||||
"integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
|
"integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -10438,9 +10429,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@discoveryjs/json-ext": {
|
"@discoveryjs/json-ext": {
|
||||||
"version": "0.5.5",
|
"version": "0.5.6",
|
||||||
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz",
|
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz",
|
||||||
"integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA=="
|
"integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA=="
|
||||||
},
|
},
|
||||||
"@nodelib/fs.scandir": {
|
"@nodelib/fs.scandir": {
|
||||||
"version": "2.1.5",
|
"version": "2.1.5",
|
||||||
|
@ -10466,9 +10457,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@popperjs/core": {
|
"@popperjs/core": {
|
||||||
"version": "2.10.2",
|
"version": "2.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz",
|
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.0.tgz",
|
||||||
"integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ=="
|
"integrity": "sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ=="
|
||||||
},
|
},
|
||||||
"@trysound/sax": {
|
"@trysound/sax": {
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
|
@ -10620,9 +10611,9 @@
|
||||||
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
|
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "16.11.10",
|
"version": "16.11.11",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.10.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.11.tgz",
|
||||||
"integrity": "sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA=="
|
"integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw=="
|
||||||
},
|
},
|
||||||
"@types/parse-json": {
|
"@types/parse-json": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
|
@ -11459,9 +11450,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"caniuse-lite": {
|
"caniuse-lite": {
|
||||||
"version": "1.0.30001283",
|
"version": "1.0.30001284",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001284.tgz",
|
||||||
"integrity": "sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg=="
|
"integrity": "sha512-t28SKa7g6kiIQi6NHeOcKrOrGMzCRrXvlasPwWC26TH2QNdglgzQIRUuJ0cR3NeQPH+5jpuveeeSFDLm2zbkEw=="
|
||||||
},
|
},
|
||||||
"chalk": {
|
"chalk": {
|
||||||
"version": "4.1.2",
|
"version": "4.1.2",
|
||||||
|
@ -11576,9 +11567,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"collect.js": {
|
"collect.js": {
|
||||||
"version": "4.29.0",
|
"version": "4.29.3",
|
||||||
"resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.29.0.tgz",
|
"resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.29.3.tgz",
|
||||||
"integrity": "sha512-yhgGYEsLEcqnLT1NmRlN1+1euoz9SDhxQ4QyDhWYsKoWsg7252PKA5++dWaDs8mdFxbkmXDXQUaHXI9J2eTPkQ=="
|
"integrity": "sha512-/6idZ7r3B25Q4cForbiHJ7+aqupcgMEtrKRn9D3viCbLw+YuNFjd23HwDH89Y2cU4jlhkwksD80nZFKtNE25Gw=="
|
||||||
},
|
},
|
||||||
"color": {
|
"color": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
|
@ -11603,9 +11594,9 @@
|
||||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||||
},
|
},
|
||||||
"color-string": {
|
"color-string": {
|
||||||
"version": "1.7.4",
|
"version": "1.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.7.4.tgz",
|
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz",
|
||||||
"integrity": "sha512-nVdUvPVgZMpRQad5dcsCMOSB5BXLljklTiaxS6ehhKxDsAI5sD7k5VmFuBt1y3Rlym8uulc/ANUN/bMWtBu6Sg==",
|
"integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"color-name": "^1.0.0",
|
"color-name": "^1.0.0",
|
||||||
"simple-swizzle": "^0.2.2"
|
"simple-swizzle": "^0.2.2"
|
||||||
|
@ -11760,11 +11751,11 @@
|
||||||
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
|
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
|
||||||
},
|
},
|
||||||
"core-js-compat": {
|
"core-js-compat": {
|
||||||
"version": "3.19.1",
|
"version": "3.19.2",
|
||||||
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.1.tgz",
|
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.2.tgz",
|
||||||
"integrity": "sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g==",
|
"integrity": "sha512-ObBY1W5vx/LFFMaL1P5Udo4Npib6fu+cMokeziWkA8Tns4FcDemKF5j9JvaI5JhdkW8EQJQGJN1EcrzmEwuAqQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"browserslist": "^4.17.6",
|
"browserslist": "^4.18.1",
|
||||||
"semver": "7.0.0"
|
"semver": "7.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -11917,9 +11908,9 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"domhandler": {
|
"domhandler": {
|
||||||
"version": "4.2.2",
|
"version": "4.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
|
||||||
"integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
|
"integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"domelementtype": "^2.2.0"
|
"domelementtype": "^2.2.0"
|
||||||
}
|
}
|
||||||
|
@ -11958,20 +11949,20 @@
|
||||||
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
|
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
|
||||||
},
|
},
|
||||||
"cssnano": {
|
"cssnano": {
|
||||||
"version": "5.0.11",
|
"version": "5.0.12",
|
||||||
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.11.tgz",
|
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.12.tgz",
|
||||||
"integrity": "sha512-5SHM31NAAe29jvy0MJqK40zZ/8dGlnlzcfHKw00bWMVFp8LWqtuyPSFwbaoIoxvt71KWJOfg8HMRGrBR3PExCg==",
|
"integrity": "sha512-U38V4x2iJ3ijPdeWqUrEr4eKBB5PbEKsNP5T8xcik2Au3LeMtiMHX0i2Hu9k51FcKofNZumbrcdC6+a521IUHg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"cssnano-preset-default": "^5.1.7",
|
"cssnano-preset-default": "^5.1.8",
|
||||||
"is-resolvable": "^1.1.0",
|
"is-resolvable": "^1.1.0",
|
||||||
"lilconfig": "^2.0.3",
|
"lilconfig": "^2.0.3",
|
||||||
"yaml": "^1.10.2"
|
"yaml": "^1.10.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cssnano-preset-default": {
|
"cssnano-preset-default": {
|
||||||
"version": "5.1.7",
|
"version": "5.1.8",
|
||||||
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.8.tgz",
|
||||||
"integrity": "sha512-bWDjtTY+BOqrqBtsSQIbN0RLGD2Yr2CnecpP0ydHNafh9ZUEre8c8VYTaH9FEbyOt0eIfEUAYYk5zj92ioO8LA==",
|
"integrity": "sha512-zWMlP0+AMPBVE852SqTrP0DnhTcTA2C1wAF92TKZ3Va+aUVqLIhkqKlnJIXXdqXD7RN+S1ujuWmNpvrJBiM/vg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"css-declaration-sorter": "^6.0.3",
|
"css-declaration-sorter": "^6.0.3",
|
||||||
"cssnano-utils": "^2.0.1",
|
"cssnano-utils": "^2.0.1",
|
||||||
|
@ -11998,7 +11989,7 @@
|
||||||
"postcss-normalize-url": "^5.0.3",
|
"postcss-normalize-url": "^5.0.3",
|
||||||
"postcss-normalize-whitespace": "^5.0.1",
|
"postcss-normalize-whitespace": "^5.0.1",
|
||||||
"postcss-ordered-values": "^5.0.2",
|
"postcss-ordered-values": "^5.0.2",
|
||||||
"postcss-reduce-initial": "^5.0.1",
|
"postcss-reduce-initial": "^5.0.2",
|
||||||
"postcss-reduce-transforms": "^5.0.1",
|
"postcss-reduce-transforms": "^5.0.1",
|
||||||
"postcss-svgo": "^5.0.3",
|
"postcss-svgo": "^5.0.3",
|
||||||
"postcss-unique-selectors": "^5.0.2"
|
"postcss-unique-selectors": "^5.0.2"
|
||||||
|
@ -12019,9 +12010,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"date-fns": {
|
"date-fns": {
|
||||||
"version": "2.26.0",
|
"version": "2.27.0",
|
||||||
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.26.0.tgz",
|
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.27.0.tgz",
|
||||||
"integrity": "sha512-VQI812dRi3cusdY/fhoBKvc6l2W8BPWU1FNVnFH9Nttjx4AFBRzfSVb/Eyc7jBT6e9sg1XtAGsYpBQ6c/jygbg=="
|
"integrity": "sha512-sj+J0Mo2p2X1e306MHq282WS4/A8Pz/95GIFcsPNMPMZVI3EUrAdSv90al1k+p74WGLCruMXk23bfEDZa71X9Q=="
|
||||||
},
|
},
|
||||||
"dayjs": {
|
"dayjs": {
|
||||||
"version": "1.10.7",
|
"version": "1.10.7",
|
||||||
|
@ -12034,9 +12025,9 @@
|
||||||
"integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0="
|
"integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0="
|
||||||
},
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "4.3.2",
|
"version": "4.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
|
||||||
"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
|
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"ms": "2.1.2"
|
"ms": "2.1.2"
|
||||||
}
|
}
|
||||||
|
@ -12212,9 +12203,9 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"domhandler": {
|
"domhandler": {
|
||||||
"version": "4.2.2",
|
"version": "4.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
|
||||||
"integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
|
"integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"domelementtype": "^2.2.0"
|
"domelementtype": "^2.2.0"
|
||||||
}
|
}
|
||||||
|
@ -12250,9 +12241,9 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"domhandler": {
|
"domhandler": {
|
||||||
"version": "4.2.2",
|
"version": "4.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
|
||||||
"integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
|
"integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"domelementtype": "^2.2.0"
|
"domelementtype": "^2.2.0"
|
||||||
}
|
}
|
||||||
|
@ -12284,9 +12275,9 @@
|
||||||
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
|
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
|
||||||
},
|
},
|
||||||
"electron-to-chromium": {
|
"electron-to-chromium": {
|
||||||
"version": "1.4.3",
|
"version": "1.4.10",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.10.tgz",
|
||||||
"integrity": "sha512-hfpppjYhqIZB8jrNb0rNceQRkSnBN7QJl3W26O1jUv3F3BkQknqy1YTqVXkFnIcFtBc3Qnv5M7r5Lez2iOLgZA=="
|
"integrity": "sha512-tFgA40Iq2oy4k2PnZrLJowbgpij+lD6ZLxkw8Ht1NKTYyN8dvSvC5xlo8X0WW2jqhKSzITrbr5mpB4/AZ/8OUA=="
|
||||||
},
|
},
|
||||||
"elliptic": {
|
"elliptic": {
|
||||||
"version": "6.5.4",
|
"version": "6.5.4",
|
||||||
|
@ -12983,9 +12974,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"http-parser-js": {
|
"http-parser-js": {
|
||||||
"version": "0.5.3",
|
"version": "0.5.5",
|
||||||
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz",
|
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz",
|
||||||
"integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg=="
|
"integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA=="
|
||||||
},
|
},
|
||||||
"http-proxy": {
|
"http-proxy": {
|
||||||
"version": "1.18.1",
|
"version": "1.18.1",
|
||||||
|
@ -13364,9 +13355,9 @@
|
||||||
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
|
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
|
||||||
},
|
},
|
||||||
"jest-worker": {
|
"jest-worker": {
|
||||||
"version": "27.3.1",
|
"version": "27.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.2.tgz",
|
||||||
"integrity": "sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==",
|
"integrity": "sha512-0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"merge-stream": "^2.0.0",
|
"merge-stream": "^2.0.0",
|
||||||
|
@ -13954,13 +13945,6 @@
|
||||||
"shellwords": "^0.1.1",
|
"shellwords": "^0.1.1",
|
||||||
"uuid": "^8.3.0",
|
"uuid": "^8.3.0",
|
||||||
"which": "^2.0.2"
|
"which": "^2.0.2"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"uuid": {
|
|
||||||
"version": "8.3.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
|
||||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node-releases": {
|
"node-releases": {
|
||||||
|
@ -14312,9 +14296,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "8.4.1",
|
"version": "8.4.4",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.4.tgz",
|
||||||
"integrity": "sha512-WqLs/TTzXdG+/A4ZOOK9WDZiikrRaiA+eoEb/jz2DT9KUhMNHgP7yKPO8vwi62ZCsb703Gwb7BMZwDzI54Y2Ag==",
|
"integrity": "sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"nanoid": "^3.1.30",
|
"nanoid": "^3.1.30",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
|
@ -14403,12 +14387,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss-loader": {
|
"postcss-loader": {
|
||||||
"version": "6.2.0",
|
"version": "6.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz",
|
||||||
"integrity": "sha512-H9hv447QjQJVDbHj3OUdciyAXY3v5+UDduzEytAlZCVHCpNAAg/mCSwhYYqZr9BiGYhmYspU8QXxZwiHTLn3yA==",
|
"integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"cosmiconfig": "^7.0.0",
|
"cosmiconfig": "^7.0.0",
|
||||||
"klona": "^2.0.4",
|
"klona": "^2.0.5",
|
||||||
"semver": "^7.3.5"
|
"semver": "^7.3.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -14596,11 +14580,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss-reduce-initial": {
|
"postcss-reduce-initial": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz",
|
||||||
"integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==",
|
"integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"browserslist": "^4.16.0",
|
"browserslist": "^4.16.6",
|
||||||
"caniuse-api": "^3.0.0"
|
"caniuse-api": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -14641,9 +14625,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss-value-parser": {
|
"postcss-value-parser": {
|
||||||
"version": "4.1.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
|
||||||
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ=="
|
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
|
||||||
},
|
},
|
||||||
"prettier": {
|
"prettier": {
|
||||||
"version": "2.5.0",
|
"version": "2.5.0",
|
||||||
|
@ -14718,20 +14702,20 @@
|
||||||
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
|
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
|
||||||
},
|
},
|
||||||
"purgecss": {
|
"purgecss": {
|
||||||
"version": "4.0.3",
|
"version": "4.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz",
|
||||||
"integrity": "sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==",
|
"integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"commander": "^6.0.0",
|
"commander": "^8.0.0",
|
||||||
"glob": "^7.0.0",
|
"glob": "^7.1.7",
|
||||||
"postcss": "^8.2.1",
|
"postcss": "^8.3.5",
|
||||||
"postcss-selector-parser": "^6.0.2"
|
"postcss-selector-parser": "^6.0.6"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"commander": {
|
"commander": {
|
||||||
"version": "6.2.1",
|
"version": "8.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
|
||||||
"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA=="
|
"integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -15342,12 +15326,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sockjs": {
|
"sockjs": {
|
||||||
"version": "0.3.21",
|
"version": "0.3.24",
|
||||||
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz",
|
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
|
||||||
"integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==",
|
"integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"faye-websocket": "^0.11.3",
|
"faye-websocket": "^0.11.3",
|
||||||
"uuid": "^3.4.0",
|
"uuid": "^8.3.2",
|
||||||
"websocket-driver": "^0.7.4"
|
"websocket-driver": "^0.7.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -15829,9 +15813,9 @@
|
||||||
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
|
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
|
||||||
},
|
},
|
||||||
"uuid": {
|
"uuid": {
|
||||||
"version": "3.4.0",
|
"version": "8.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||||
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
|
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
||||||
},
|
},
|
||||||
"v-clipboard": {
|
"v-clipboard": {
|
||||||
"version": "2.2.3",
|
"version": "2.2.3",
|
||||||
|
@ -16263,23 +16247,23 @@
|
||||||
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
|
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
|
||||||
},
|
},
|
||||||
"yargs": {
|
"yargs": {
|
||||||
"version": "17.2.1",
|
"version": "17.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.0.tgz",
|
||||||
"integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==",
|
"integrity": "sha512-GQl1pWyDoGptFPJx9b9L6kmR33TGusZvXIZUT+BOz9f7X2L94oeAskFYLEg/FkhV06zZPBYLvLZRWeYId29lew==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"cliui": "^7.0.2",
|
"cliui": "^7.0.2",
|
||||||
"escalade": "^3.1.1",
|
"escalade": "^3.1.1",
|
||||||
"get-caller-file": "^2.0.5",
|
"get-caller-file": "^2.0.5",
|
||||||
"require-directory": "^2.1.1",
|
"require-directory": "^2.1.1",
|
||||||
"string-width": "^4.2.0",
|
"string-width": "^4.2.3",
|
||||||
"y18n": "^5.0.5",
|
"y18n": "^5.0.5",
|
||||||
"yargs-parser": "^20.2.2"
|
"yargs-parser": "^21.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"yargs-parser": {
|
"yargs-parser": {
|
||||||
"version": "20.2.9",
|
"version": "21.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
|
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz",
|
||||||
"integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="
|
"integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA=="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,18 +7,7 @@
|
||||||
id="project-options-menu-0"
|
id="project-options-menu-0"
|
||||||
aria-has-popup="true"
|
aria-has-popup="true"
|
||||||
type="button"
|
type="button"
|
||||||
class="
|
class="w-8 h-8 bg-white inline-flex items-center justify-center text-grey-400 rounded-full hover:text-grey-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-purple-500"
|
||||||
w-8
|
|
||||||
h-8
|
|
||||||
bg-white
|
|
||||||
inline-flex
|
|
||||||
items-center
|
|
||||||
justify-center
|
|
||||||
text-grey-400
|
|
||||||
rounded-full
|
|
||||||
hover:text-grey-500
|
|
||||||
focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-purple-500
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<span class="sr-only">Open options</span>
|
<span class="sr-only">Open options</span>
|
||||||
|
|
||||||
|
@ -39,21 +28,7 @@
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-show="isOpen"
|
v-show="isOpen"
|
||||||
class="
|
class="mx-3 origin-top-right absolute right-7 top-0 w-48 mt-1 rounded-md shadow-lg z-10 bg-white ring-1 ring-black ring-opacity-5 divide-y divide-grey-200"
|
||||||
mx-3
|
|
||||||
origin-top-right
|
|
||||||
absolute
|
|
||||||
right-7
|
|
||||||
top-0
|
|
||||||
w-48
|
|
||||||
mt-1
|
|
||||||
rounded-md
|
|
||||||
shadow-lg
|
|
||||||
z-10
|
|
||||||
bg-white
|
|
||||||
ring-1 ring-black ring-opacity-5
|
|
||||||
divide-y divide-grey-200
|
|
||||||
"
|
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-orientation="vertical"
|
aria-orientation="vertical"
|
||||||
aria-labelledby="project-options-menu-0"
|
aria-labelledby="project-options-menu-0"
|
||||||
|
|
|
@ -4,38 +4,12 @@
|
||||||
type="button"
|
type="button"
|
||||||
:aria-pressed="value.toString()"
|
:aria-pressed="value.toString()"
|
||||||
:class="this.value ? 'bg-cyan-500' : 'bg-grey-300'"
|
:class="this.value ? 'bg-cyan-500' : 'bg-grey-300'"
|
||||||
class="
|
class="relative inline-flex flex-shrink-0 h-6 w-11 border-2 border-transparent rounded-full cursor-pointer transition-colors ease-in-out duration-200 focus:outline-none"
|
||||||
relative
|
|
||||||
inline-flex
|
|
||||||
flex-shrink-0
|
|
||||||
h-6
|
|
||||||
w-11
|
|
||||||
border-2 border-transparent
|
|
||||||
rounded-full
|
|
||||||
cursor-pointer
|
|
||||||
transition-colors
|
|
||||||
ease-in-out
|
|
||||||
duration-200
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<span class="sr-only">Use setting</span>
|
<span class="sr-only">Use setting</span>
|
||||||
<span
|
<span
|
||||||
:class="this.value ? 'translate-x-5' : 'translate-x-0'"
|
:class="this.value ? 'translate-x-5' : 'translate-x-0'"
|
||||||
class="
|
class="relative inline-block h-5 w-5 rounded-full bg-white shadow transform ring-0 transition ease-in-out duration-200"
|
||||||
relative
|
|
||||||
inline-block
|
|
||||||
h-5
|
|
||||||
w-5
|
|
||||||
rounded-full
|
|
||||||
bg-white
|
|
||||||
shadow
|
|
||||||
transform
|
|
||||||
ring-0
|
|
||||||
transition
|
|
||||||
ease-in-out
|
|
||||||
duration-200
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
:class="this.value ? 'opacity-0 ease-out duration-100' : 'opacity-100 ease-in duration-200'"
|
:class="this.value ? 'opacity-0 ease-out duration-100' : 'opacity-100 ease-in duration-200'"
|
||||||
|
|
|
@ -59,16 +59,7 @@
|
||||||
<div class="mt-6">
|
<div class="mt-6">
|
||||||
<button
|
<button
|
||||||
@click="remove"
|
@click="remove"
|
||||||
class="
|
class="bg-red-500 hover:bg-red-600 text-white font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-red-500
|
|
||||||
hover:bg-red-600
|
|
||||||
text-white
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="removeKeyLoading ? 'cursor-not-allowed' : ''"
|
:class="removeKeyLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="removeKeyLoading"
|
:disabled="removeKeyLoading"
|
||||||
>
|
>
|
||||||
|
@ -77,18 +68,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeDeleteKeyModal"
|
@click="closeDeleteKeyModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Close
|
Close
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -36,17 +36,7 @@
|
||||||
|
|
||||||
<button
|
<button
|
||||||
@click="openCreateTokenModal"
|
@click="openCreateTokenModal"
|
||||||
class="
|
class="bg-cyan-400 w-full hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-cyan-400
|
|
||||||
w-full
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Generate New Token
|
Generate New Token
|
||||||
</button>
|
</button>
|
||||||
|
@ -117,33 +107,14 @@
|
||||||
v-model="form.name"
|
v-model="form.name"
|
||||||
type="text"
|
type="text"
|
||||||
id="create-token-name"
|
id="create-token-name"
|
||||||
class="
|
class="w-full appearance-none bg-grey-100 border border-transparent text-grey-700 focus:outline-none rounded p-3 mb-6"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border border-transparent
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
p-3
|
|
||||||
mb-6
|
|
||||||
"
|
|
||||||
:class="form.errors.length > 0 ? 'border-red-500' : ''"
|
:class="form.errors.length > 0 ? 'border-red-500' : ''"
|
||||||
placeholder="e.g. Firefox extension"
|
placeholder="e.g. Firefox extension"
|
||||||
autofocus
|
autofocus
|
||||||
/>
|
/>
|
||||||
<button
|
<button
|
||||||
@click="store"
|
@click="store"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="loading ? 'cursor-not-allowed' : ''"
|
:class="loading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="loading"
|
:disabled="loading"
|
||||||
>
|
>
|
||||||
|
@ -152,18 +123,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeCreateTokenModal"
|
@click="closeCreateTokenModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Close
|
Close
|
||||||
</button>
|
</button>
|
||||||
|
@ -181,33 +141,14 @@
|
||||||
</p>
|
</p>
|
||||||
<textarea
|
<textarea
|
||||||
v-model="accessToken"
|
v-model="accessToken"
|
||||||
class="
|
class="w-full appearance-none bg-grey-100 border border-transparent text-grey-700 focus:outline-none rounded p-3 text-sm"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border border-transparent
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
p-3
|
|
||||||
text-sm
|
|
||||||
"
|
|
||||||
rows="10"
|
rows="10"
|
||||||
readonly
|
readonly
|
||||||
>
|
>
|
||||||
</textarea>
|
</textarea>
|
||||||
<div class="mt-6">
|
<div class="mt-6">
|
||||||
<button
|
<button
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
v-clipboard="() => accessToken"
|
v-clipboard="() => accessToken"
|
||||||
v-clipboard:success="clipboardSuccess"
|
v-clipboard:success="clipboardSuccess"
|
||||||
v-clipboard:error="clipboardError"
|
v-clipboard:error="clipboardError"
|
||||||
|
@ -216,18 +157,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeCreateTokenModal"
|
@click="closeCreateTokenModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Close
|
Close
|
||||||
</button>
|
</button>
|
||||||
|
@ -249,16 +179,7 @@
|
||||||
<div class="mt-6">
|
<div class="mt-6">
|
||||||
<button
|
<button
|
||||||
@click="revoke"
|
@click="revoke"
|
||||||
class="
|
class="bg-red-500 hover:bg-red-600 text-white font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-red-500
|
|
||||||
hover:bg-red-600
|
|
||||||
text-white
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="revokeTokenLoading ? 'cursor-not-allowed' : ''"
|
:class="revokeTokenLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="revokeTokenLoading"
|
:disabled="revokeTokenLoading"
|
||||||
>
|
>
|
||||||
|
@ -267,18 +188,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeRevokeTokenModal"
|
@click="closeRevokeTokenModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Close
|
Close
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -2,21 +2,7 @@
|
||||||
<div class="aliases">
|
<div class="aliases">
|
||||||
<div class="flex flex-wrap flex-row items-center justify-between mb-8 md:px-2 lg:px-6">
|
<div class="flex flex-wrap flex-row items-center justify-between mb-8 md:px-2 lg:px-6">
|
||||||
<div
|
<div
|
||||||
class="
|
class="w-full md:w-1/2 lg:w-1/3 xl:w-1/6 md:-mx-2 lg:-mx-6 rounded overflow-hidden shadow-md bg-white mb-4 lg:mb-4 xl:mb-0"
|
||||||
w-full
|
|
||||||
md:w-1/2
|
|
||||||
lg:w-1/3
|
|
||||||
xl:w-1/6
|
|
||||||
md:-mx-2
|
|
||||||
lg:-mx-6
|
|
||||||
rounded
|
|
||||||
overflow-hidden
|
|
||||||
shadow-md
|
|
||||||
bg-white
|
|
||||||
mb-4
|
|
||||||
lg:mb-4
|
|
||||||
xl:mb-0
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<div class="p-4 flex items-center justify-between relative">
|
<div class="p-4 flex items-center justify-between relative">
|
||||||
<icon
|
<icon
|
||||||
|
@ -30,21 +16,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="
|
class="w-full md:w-1/2 lg:w-1/3 xl:w-1/6 md:-mx-2 lg:-mx-6 rounded overflow-hidden shadow-md bg-white mb-4 lg:mb-4 xl:mb-0"
|
||||||
w-full
|
|
||||||
md:w-1/2
|
|
||||||
lg:w-1/3
|
|
||||||
xl:w-1/6
|
|
||||||
md:-mx-2
|
|
||||||
lg:-mx-6
|
|
||||||
rounded
|
|
||||||
overflow-hidden
|
|
||||||
shadow-md
|
|
||||||
bg-white
|
|
||||||
mb-4
|
|
||||||
lg:mb-4
|
|
||||||
xl:mb-0
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<div class="p-4 flex items-center justify-between relative">
|
<div class="p-4 flex items-center justify-between relative">
|
||||||
<icon
|
<icon
|
||||||
|
@ -58,21 +30,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="
|
class="w-full md:w-1/2 lg:w-1/3 xl:w-1/6 md:-mx-2 lg:-mx-6 rounded overflow-hidden shadow-md bg-white mb-4 lg:mb-4 xl:mb-0"
|
||||||
w-full
|
|
||||||
md:w-1/2
|
|
||||||
lg:w-1/3
|
|
||||||
xl:w-1/6
|
|
||||||
md:-mx-2
|
|
||||||
lg:-mx-6
|
|
||||||
rounded
|
|
||||||
overflow-hidden
|
|
||||||
shadow-md
|
|
||||||
bg-white
|
|
||||||
mb-4
|
|
||||||
lg:mb-4
|
|
||||||
xl:mb-0
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<div class="p-4 flex items-center justify-between relative">
|
<div class="p-4 flex items-center justify-between relative">
|
||||||
<icon
|
<icon
|
||||||
|
@ -86,20 +44,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="
|
class="w-full md:w-1/2 lg:w-1/3 xl:w-1/6 md:-mx-2 lg:-mx-6 rounded overflow-hidden shadow-md bg-white mb-4 lg:mb-0"
|
||||||
w-full
|
|
||||||
md:w-1/2
|
|
||||||
lg:w-1/3
|
|
||||||
xl:w-1/6
|
|
||||||
md:-mx-2
|
|
||||||
lg:-mx-6
|
|
||||||
rounded
|
|
||||||
overflow-hidden
|
|
||||||
shadow-md
|
|
||||||
bg-white
|
|
||||||
mb-4
|
|
||||||
lg:mb-0
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<div class="p-4 flex items-center justify-between relative">
|
<div class="p-4 flex items-center justify-between relative">
|
||||||
<icon
|
<icon
|
||||||
|
@ -113,20 +58,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="
|
class="w-full md:w-1/2 lg:w-1/3 xl:w-1/6 md:-mx-2 lg:-mx-6 rounded overflow-hidden shadow-md bg-white mb-4 md:mb-0"
|
||||||
w-full
|
|
||||||
md:w-1/2
|
|
||||||
lg:w-1/3
|
|
||||||
xl:w-1/6
|
|
||||||
md:-mx-2
|
|
||||||
lg:-mx-6
|
|
||||||
rounded
|
|
||||||
overflow-hidden
|
|
||||||
shadow-md
|
|
||||||
bg-white
|
|
||||||
mb-4
|
|
||||||
md:mb-0
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<div class="p-4 flex items-center justify-between relative">
|
<div class="p-4 flex items-center justify-between relative">
|
||||||
<icon
|
<icon
|
||||||
|
@ -140,18 +72,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="
|
class="w-full md:w-1/2 lg:w-1/3 xl:w-1/6 md:-mx-2 lg:-mx-6 rounded overflow-hidden shadow-md bg-white"
|
||||||
w-full
|
|
||||||
md:w-1/2
|
|
||||||
lg:w-1/3
|
|
||||||
xl:w-1/6
|
|
||||||
md:-mx-2
|
|
||||||
lg:-mx-6
|
|
||||||
rounded
|
|
||||||
overflow-hidden
|
|
||||||
shadow-md
|
|
||||||
bg-white
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<div class="p-4 flex items-center justify-between relative">
|
<div class="p-4 flex items-center justify-between relative">
|
||||||
<icon
|
<icon
|
||||||
|
@ -172,73 +93,26 @@
|
||||||
@keyup.esc="search = ''"
|
@keyup.esc="search = ''"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full md:w-64 appearance-none shadow bg-white text-grey-700 focus:outline-none rounded py-3 pl-3 pr-8"
|
||||||
w-full
|
|
||||||
md:w-64
|
|
||||||
appearance-none
|
|
||||||
shadow
|
|
||||||
bg-white
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
py-3
|
|
||||||
pl-3
|
|
||||||
pr-8
|
|
||||||
"
|
|
||||||
placeholder="Search Aliases"
|
placeholder="Search Aliases"
|
||||||
/>
|
/>
|
||||||
<icon
|
<icon
|
||||||
v-if="search"
|
v-if="search"
|
||||||
@click.native="search = ''"
|
@click.native="search = ''"
|
||||||
name="close-circle"
|
name="close-circle"
|
||||||
class="
|
class="absolute right-0 inset-y-0 w-5 h-full text-grey-300 fill-current mr-2 flex items-center cursor-pointer"
|
||||||
absolute
|
|
||||||
right-0
|
|
||||||
inset-y-0
|
|
||||||
w-5
|
|
||||||
h-full
|
|
||||||
text-grey-300
|
|
||||||
fill-current
|
|
||||||
mr-2
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
cursor-pointer
|
|
||||||
"
|
|
||||||
/>
|
/>
|
||||||
<icon
|
<icon
|
||||||
v-else
|
v-else
|
||||||
name="search"
|
name="search"
|
||||||
class="
|
class="absolute right-0 inset-y-0 w-5 h-full text-grey-300 fill-current pointer-events-none mr-2 flex items-center"
|
||||||
absolute
|
|
||||||
right-0
|
|
||||||
inset-y-0
|
|
||||||
w-5
|
|
||||||
h-full
|
|
||||||
text-grey-300
|
|
||||||
fill-current
|
|
||||||
pointer-events-none
|
|
||||||
mr-2
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-wrap mt-4 md:mt-0">
|
<div class="flex flex-wrap mt-4 md:mt-0">
|
||||||
<div class="block relative mr-4">
|
<div class="block relative mr-4">
|
||||||
<select
|
<select
|
||||||
v-model="showAliases"
|
v-model="showAliases"
|
||||||
class="
|
class="block appearance-none w-full text-grey-700 bg-white p-3 pr-8 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
w-full
|
|
||||||
text-grey-700
|
|
||||||
bg-white
|
|
||||||
p-3
|
|
||||||
pr-8
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option value="without">Hide Deleted</option>
|
<option value="without">Hide Deleted</option>
|
||||||
|
@ -246,16 +120,7 @@
|
||||||
<option value="only">Deleted Only</option>
|
<option value="only">Deleted Only</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -271,17 +136,7 @@
|
||||||
<div>
|
<div>
|
||||||
<button
|
<button
|
||||||
@click="generateAliasModalOpen = true"
|
@click="generateAliasModalOpen = true"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none ml-auto"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
ml-auto
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Create New Alias
|
Create New Alias
|
||||||
</button>
|
</button>
|
||||||
|
@ -356,18 +211,7 @@
|
||||||
@keyup.esc="aliasIdToEdit = aliasDescriptionToEdit = ''"
|
@keyup.esc="aliasIdToEdit = aliasDescriptionToEdit = ''"
|
||||||
v-model="aliasDescriptionToEdit"
|
v-model="aliasDescriptionToEdit"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="flex-grow text-sm appearance-none bg-grey-100 border text-grey-700 focus:outline-none rounded px-2 py-1"
|
||||||
flex-grow
|
|
||||||
text-sm
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
px-2
|
|
||||||
py-1
|
|
||||||
"
|
|
||||||
:class="aliasDescriptionToEdit.length > 200 ? 'border-red-500' : 'border-transparent'"
|
:class="aliasDescriptionToEdit.length > 200 ? 'border-red-500' : 'border-transparent'"
|
||||||
placeholder="Add description"
|
placeholder="Add description"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
|
@ -398,13 +242,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<span
|
<span
|
||||||
class="
|
class="inline-block text-grey-300 text-sm cursor-pointer py-1 border border-transparent"
|
||||||
inline-block
|
|
||||||
text-grey-300 text-sm
|
|
||||||
cursor-pointer
|
|
||||||
py-1
|
|
||||||
border border-transparent
|
|
||||||
"
|
|
||||||
@click=";(aliasIdToEdit = props.row.id), (aliasDescriptionToEdit = '')"
|
@click=";(aliasIdToEdit = props.row.id), (aliasDescriptionToEdit = '')"
|
||||||
>Add description</span
|
>Add description</span
|
||||||
>
|
>
|
||||||
|
@ -426,16 +264,7 @@
|
||||||
}}</span>
|
}}</span>
|
||||||
<span
|
<span
|
||||||
v-else-if="has(props.row.aliasable, 'default_recipient.email')"
|
v-else-if="has(props.row.aliasable, 'default_recipient.email')"
|
||||||
class="
|
class="py-1 px-2 text-xs bg-yellow-200 text-yellow-900 rounded-full tooltip outline-none"
|
||||||
py-1
|
|
||||||
px-2
|
|
||||||
text-xs
|
|
||||||
bg-yellow-200
|
|
||||||
text-yellow-900
|
|
||||||
rounded-full
|
|
||||||
tooltip
|
|
||||||
outline-none
|
|
||||||
"
|
|
||||||
:data-tippy-content="props.row.aliasable.default_recipient.email"
|
:data-tippy-content="props.row.aliasable.default_recipient.email"
|
||||||
>{{
|
>{{
|
||||||
props.row.aliasable_type === 'App\\Models\\Domain' ? 'domain' : 'username'
|
props.row.aliasable_type === 'App\\Models\\Domain' ? 'domain' : 'username'
|
||||||
|
@ -443,16 +272,7 @@
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
v-else
|
v-else
|
||||||
class="
|
class="py-1 px-2 text-xs bg-yellow-200 text-yellow-900 rounded-full tooltip outline-none"
|
||||||
py-1
|
|
||||||
px-2
|
|
||||||
text-xs
|
|
||||||
bg-yellow-200
|
|
||||||
text-yellow-900
|
|
||||||
rounded-full
|
|
||||||
tooltip
|
|
||||||
outline-none
|
|
||||||
"
|
|
||||||
:data-tippy-content="defaultRecipientEmail"
|
:data-tippy-content="defaultRecipientEmail"
|
||||||
>default</span
|
>default</span
|
||||||
>
|
>
|
||||||
|
@ -493,16 +313,7 @@
|
||||||
<div role="none">
|
<div role="none">
|
||||||
<span
|
<span
|
||||||
@click="openSendFromModal(props.row)"
|
@click="openSendFromModal(props.row)"
|
||||||
class="
|
class="group cursor-pointer flex items-center px-4 py-3 text-sm text-grey-700 hover:bg-grey-100 hover:text-grey-900"
|
||||||
group
|
|
||||||
cursor-pointer
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-sm text-grey-700
|
|
||||||
hover:bg-grey-100 hover:text-grey-900
|
|
||||||
"
|
|
||||||
role="menuitem"
|
role="menuitem"
|
||||||
>
|
>
|
||||||
<icon name="send" class="block mr-3 w-5 h-5 text-grey-300 outline-none" />
|
<icon name="send" class="block mr-3 w-5 h-5 text-grey-300 outline-none" />
|
||||||
|
@ -512,16 +323,7 @@
|
||||||
<div v-if="props.row.deleted_at" role="none">
|
<div v-if="props.row.deleted_at" role="none">
|
||||||
<span
|
<span
|
||||||
@click="openRestoreModal(props.row.id)"
|
@click="openRestoreModal(props.row.id)"
|
||||||
class="
|
class="group cursor-pointer flex items-center px-4 py-3 text-sm text-grey-700 hover:bg-grey-100 hover:text-grey-900"
|
||||||
group
|
|
||||||
cursor-pointer
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-sm text-grey-700
|
|
||||||
hover:bg-grey-100 hover:text-grey-900
|
|
||||||
"
|
|
||||||
role="menuitem"
|
role="menuitem"
|
||||||
>
|
>
|
||||||
<icon
|
<icon
|
||||||
|
@ -534,16 +336,7 @@
|
||||||
<div v-else role="none">
|
<div v-else role="none">
|
||||||
<span
|
<span
|
||||||
@click="openDeleteModal(props.row)"
|
@click="openDeleteModal(props.row)"
|
||||||
class="
|
class="group cursor-pointer flex items-center px-4 py-3 text-sm text-grey-700 hover:bg-grey-100 hover:text-grey-900"
|
||||||
group
|
|
||||||
cursor-pointer
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-sm text-grey-700
|
|
||||||
hover:bg-grey-100 hover:text-grey-900
|
|
||||||
"
|
|
||||||
role="menuitem"
|
role="menuitem"
|
||||||
>
|
>
|
||||||
<icon
|
<icon
|
||||||
|
@ -556,16 +349,7 @@
|
||||||
<div role="none">
|
<div role="none">
|
||||||
<span
|
<span
|
||||||
@click="openForgetModal(props.row)"
|
@click="openForgetModal(props.row)"
|
||||||
class="
|
class="group cursor-pointer flex items-center px-4 py-3 text-sm text-grey-700 hover:bg-grey-100 hover:text-grey-900"
|
||||||
group
|
|
||||||
cursor-pointer
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-sm text-grey-700
|
|
||||||
hover:bg-grey-100 hover:text-grey-900
|
|
||||||
"
|
|
||||||
role="menuitem"
|
role="menuitem"
|
||||||
>
|
>
|
||||||
<icon
|
<icon
|
||||||
|
@ -642,18 +426,7 @@
|
||||||
<select
|
<select
|
||||||
v-model="generateAliasDomain"
|
v-model="generateAliasDomain"
|
||||||
id="alias_domain"
|
id="alias_domain"
|
||||||
class="
|
class="block appearance-none w-full text-grey-700 bg-grey-100 p-3 pr-8 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
w-full
|
|
||||||
text-grey-700
|
|
||||||
bg-grey-100
|
|
||||||
p-3
|
|
||||||
pr-8
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option v-for="domainOption in domainOptions" :key="domainOption" :value="domainOption">
|
<option v-for="domainOption in domainOptions" :key="domainOption" :value="domainOption">
|
||||||
|
@ -661,16 +434,7 @@
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -691,18 +455,7 @@
|
||||||
<select
|
<select
|
||||||
v-model="generateAliasFormat"
|
v-model="generateAliasFormat"
|
||||||
id="alias_format"
|
id="alias_format"
|
||||||
class="
|
class="block appearance-none w-full text-grey-700 bg-grey-100 p-3 pr-8 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
w-full
|
|
||||||
text-grey-700
|
|
||||||
bg-grey-100
|
|
||||||
p-3
|
|
||||||
pr-8
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option
|
<option
|
||||||
|
@ -714,16 +467,7 @@
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -748,16 +492,7 @@
|
||||||
v-model="generateAliasLocalPart"
|
v-model="generateAliasLocalPart"
|
||||||
id="alias_local_part"
|
id="alias_local_part"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full appearance-none bg-grey-100 border border-transparent text-grey-700 focus:outline-none rounded p-3"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border border-transparent
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
p-3
|
|
||||||
"
|
|
||||||
:class="errors.generateAliasLocalPart ? 'border-red-500' : ''"
|
:class="errors.generateAliasLocalPart ? 'border-red-500' : ''"
|
||||||
placeholder="Enter local part..."
|
placeholder="Enter local part..."
|
||||||
autofocus
|
autofocus
|
||||||
|
@ -774,16 +509,7 @@
|
||||||
v-model="generateAliasDescription"
|
v-model="generateAliasDescription"
|
||||||
id="alias_description"
|
id="alias_description"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full appearance-none bg-grey-100 border border-transparent text-grey-700 focus:outline-none rounded p-3"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border border-transparent
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
p-3
|
|
||||||
"
|
|
||||||
:class="errors.generateAliasDescription ? 'border-red-500' : ''"
|
:class="errors.generateAliasDescription ? 'border-red-500' : ''"
|
||||||
placeholder="Enter description (optional)..."
|
placeholder="Enter description (optional)..."
|
||||||
autofocus
|
autofocus
|
||||||
|
@ -815,16 +541,7 @@
|
||||||
<div class="mt-6">
|
<div class="mt-6">
|
||||||
<button
|
<button
|
||||||
@click="generateNewAlias"
|
@click="generateNewAlias"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="generateAliasLoading ? 'cursor-not-allowed' : ''"
|
:class="generateAliasLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="generateAliasLoading"
|
:disabled="generateAliasLoading"
|
||||||
>
|
>
|
||||||
|
@ -833,18 +550,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="generateAliasModalOpen = false"
|
@click="generateAliasModalOpen = false"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -882,17 +588,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="editAliasRecipients()"
|
@click="editAliasRecipients()"
|
||||||
class="
|
class="px-4 py-3 text-cyan-900 font-semibold bg-cyan-400 hover:bg-cyan-300 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-cyan-900
|
|
||||||
font-semibold
|
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="editAliasRecipientsLoading ? 'cursor-not-allowed' : ''"
|
:class="editAliasRecipientsLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="editAliasRecipientsLoading"
|
:disabled="editAliasRecipientsLoading"
|
||||||
>
|
>
|
||||||
|
@ -901,18 +597,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeAliasRecipientsModal()"
|
@click="closeAliasRecipientsModal()"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -935,17 +620,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="restoreAlias(aliasIdToRestore)"
|
@click="restoreAlias(aliasIdToRestore)"
|
||||||
class="
|
class="px-4 py-3 text-cyan-900 font-semibold bg-cyan-400 hover:bg-cyan-300 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-cyan-900
|
|
||||||
font-semibold
|
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="restoreAliasLoading ? 'cursor-not-allowed' : ''"
|
:class="restoreAliasLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="restoreAliasLoading"
|
:disabled="restoreAliasLoading"
|
||||||
>
|
>
|
||||||
|
@ -954,18 +629,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeRestoreModal"
|
@click="closeRestoreModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -990,17 +654,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="deleteAlias(aliasToDelete.id)"
|
@click="deleteAlias(aliasToDelete.id)"
|
||||||
class="
|
class="px-4 py-3 text-white font-semibold bg-red-500 hover:bg-red-600 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-white
|
|
||||||
font-semibold
|
|
||||||
bg-red-500
|
|
||||||
hover:bg-red-600
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="deleteAliasLoading ? 'cursor-not-allowed' : ''"
|
:class="deleteAliasLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="deleteAliasLoading"
|
:disabled="deleteAliasLoading"
|
||||||
>
|
>
|
||||||
|
@ -1009,18 +663,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeDeleteModal"
|
@click="closeDeleteModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -1048,17 +691,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="forgetAlias(aliasToForget.id)"
|
@click="forgetAlias(aliasToForget.id)"
|
||||||
class="
|
class="px-4 py-3 text-white font-semibold bg-red-500 hover:bg-red-600 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-white
|
|
||||||
font-semibold
|
|
||||||
bg-red-500
|
|
||||||
hover:bg-red-600
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="forgetAliasLoading ? 'cursor-not-allowed' : ''"
|
:class="forgetAliasLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="forgetAliasLoading"
|
:disabled="forgetAliasLoading"
|
||||||
>
|
>
|
||||||
|
@ -1067,18 +700,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeForgetModal"
|
@click="closeForgetModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -1102,16 +724,7 @@
|
||||||
v-model="aliasToSendFrom.email"
|
v-model="aliasToSendFrom.email"
|
||||||
id="send_from_alias"
|
id="send_from_alias"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full appearance-none bg-grey-100 border border-transparent text-grey-700 focus:outline-none rounded p-3"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border border-transparent
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
p-3
|
|
||||||
"
|
|
||||||
disabled
|
disabled
|
||||||
/>
|
/>
|
||||||
<label for="send_from_alias_destination" class="block text-grey-700 text-sm my-2">
|
<label for="send_from_alias_destination" class="block text-grey-700 text-sm my-2">
|
||||||
|
@ -1124,16 +737,7 @@
|
||||||
v-model="sendFromAliasDestination"
|
v-model="sendFromAliasDestination"
|
||||||
id="send_from_alias_destination"
|
id="send_from_alias_destination"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full appearance-none bg-grey-100 border border-transparent text-grey-700 focus:outline-none rounded p-3"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border border-transparent
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
p-3
|
|
||||||
"
|
|
||||||
:class="errors.sendFromAliasDestination ? 'border-red-500' : ''"
|
:class="errors.sendFromAliasDestination ? 'border-red-500' : ''"
|
||||||
placeholder="Enter email..."
|
placeholder="Enter email..."
|
||||||
autofocus
|
autofocus
|
||||||
|
@ -1145,20 +749,7 @@
|
||||||
<div
|
<div
|
||||||
v-clipboard="() => sendFromAliasEmailToSendTo"
|
v-clipboard="() => sendFromAliasEmailToSendTo"
|
||||||
v-clipboard:success="setSendFromAliasCopied"
|
v-clipboard:success="setSendFromAliasCopied"
|
||||||
class="
|
class="flex items-center justify-between cursor-pointer text-xs border-t-4 rounded-sm text-green-800 border-green-600 bg-green-100 p-2 mb-3"
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
justify-between
|
|
||||||
cursor-pointer
|
|
||||||
text-xs
|
|
||||||
border-t-4
|
|
||||||
rounded-sm
|
|
||||||
text-green-800
|
|
||||||
border-green-600
|
|
||||||
bg-green-100
|
|
||||||
p-2
|
|
||||||
mb-3
|
|
||||||
"
|
|
||||||
role="alert"
|
role="alert"
|
||||||
>
|
>
|
||||||
<span>
|
<span>
|
||||||
|
@ -1195,20 +786,7 @@
|
||||||
</div>
|
</div>
|
||||||
<a
|
<a
|
||||||
:href="'mailto:' + sendFromAliasEmailToSendTo"
|
:href="'mailto:' + sendFromAliasEmailToSendTo"
|
||||||
class="
|
class="flex items-center justify-between cursor-pointer text-sm border-t-4 rounded-sm text-green-800 border-green-600 bg-green-100 p-2 mb-4"
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
justify-between
|
|
||||||
cursor-pointer
|
|
||||||
text-sm
|
|
||||||
border-t-4
|
|
||||||
rounded-sm
|
|
||||||
text-green-800
|
|
||||||
border-green-600
|
|
||||||
bg-green-100
|
|
||||||
p-2
|
|
||||||
mb-4
|
|
||||||
"
|
|
||||||
role="alert"
|
role="alert"
|
||||||
title="Click To Open Mail Application"
|
title="Click To Open Mail Application"
|
||||||
>
|
>
|
||||||
|
@ -1219,17 +797,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="displaySendFromAddress(aliasToSendFrom)"
|
@click="displaySendFromAddress(aliasToSendFrom)"
|
||||||
class="
|
class="px-4 py-3 text-cyan-900 font-semibold bg-cyan-400 hover:bg-cyan-300 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-cyan-900
|
|
||||||
font-semibold
|
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="sendFromAliasLoading ? 'cursor-not-allowed' : ''"
|
:class="sendFromAliasLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="sendFromAliasLoading"
|
:disabled="sendFromAliasLoading"
|
||||||
>
|
>
|
||||||
|
@ -1238,18 +806,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeSendFromModal"
|
@click="closeSendFromModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Close
|
Close
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -7,71 +7,25 @@
|
||||||
@keyup.esc="search = ''"
|
@keyup.esc="search = ''"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full md:w-64 appearance-none shadow bg-white text-grey-700 focus:outline-none rounded py-3 pl-3 pr-8"
|
||||||
w-full
|
|
||||||
md:w-64
|
|
||||||
appearance-none
|
|
||||||
shadow
|
|
||||||
bg-white
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
py-3
|
|
||||||
pl-3
|
|
||||||
pr-8
|
|
||||||
"
|
|
||||||
placeholder="Search Domains"
|
placeholder="Search Domains"
|
||||||
/>
|
/>
|
||||||
<icon
|
<icon
|
||||||
v-if="search"
|
v-if="search"
|
||||||
@click.native="search = ''"
|
@click.native="search = ''"
|
||||||
name="close-circle"
|
name="close-circle"
|
||||||
class="
|
class="absolute right-0 inset-y-0 w-5 h-full text-grey-300 fill-current mr-2 flex items-center cursor-pointer"
|
||||||
absolute
|
|
||||||
right-0
|
|
||||||
inset-y-0
|
|
||||||
w-5
|
|
||||||
h-full
|
|
||||||
text-grey-300
|
|
||||||
fill-current
|
|
||||||
mr-2
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
cursor-pointer
|
|
||||||
"
|
|
||||||
/>
|
/>
|
||||||
<icon
|
<icon
|
||||||
v-else
|
v-else
|
||||||
name="search"
|
name="search"
|
||||||
class="
|
class="absolute right-0 inset-y-0 w-5 h-full text-grey-300 fill-current pointer-events-none mr-2 flex items-center"
|
||||||
absolute
|
|
||||||
right-0
|
|
||||||
inset-y-0
|
|
||||||
w-5
|
|
||||||
h-full
|
|
||||||
text-grey-300
|
|
||||||
fill-current
|
|
||||||
pointer-events-none
|
|
||||||
mr-2
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-4 md:mt-0">
|
<div class="mt-4 md:mt-0">
|
||||||
<button
|
<button
|
||||||
@click="addDomainModalOpen = true"
|
@click="addDomainModalOpen = true"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none ml-auto"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
ml-auto
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Add Custom Domain
|
Add Custom Domain
|
||||||
</button>
|
</button>
|
||||||
|
@ -121,17 +75,7 @@
|
||||||
@keyup.esc="domainIdToEdit = domainDescriptionToEdit = ''"
|
@keyup.esc="domainIdToEdit = domainDescriptionToEdit = ''"
|
||||||
v-model="domainDescriptionToEdit"
|
v-model="domainDescriptionToEdit"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="flex-grow appearance-none bg-grey-100 border text-grey-700 focus:outline-none rounded px-2 py-1"
|
||||||
flex-grow
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
px-2
|
|
||||||
py-1
|
|
||||||
"
|
|
||||||
:class="
|
:class="
|
||||||
domainDescriptionToEdit.length > 200 ? 'border-red-500' : 'border-transparent'
|
domainDescriptionToEdit.length > 200 ? 'border-red-500' : 'border-transparent'
|
||||||
"
|
"
|
||||||
|
@ -354,33 +298,14 @@
|
||||||
<input
|
<input
|
||||||
v-model="newDomain"
|
v-model="newDomain"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full appearance-none bg-grey-100 border border-transparent text-grey-700 focus:outline-none rounded p-3 mb-6"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border border-transparent
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
p-3
|
|
||||||
mb-6
|
|
||||||
"
|
|
||||||
:class="errors.newDomain ? 'border-red-500' : ''"
|
:class="errors.newDomain ? 'border-red-500' : ''"
|
||||||
placeholder="example.com"
|
placeholder="example.com"
|
||||||
autofocus
|
autofocus
|
||||||
/>
|
/>
|
||||||
<button
|
<button
|
||||||
@click="validateNewDomain"
|
@click="validateNewDomain"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="addDomainLoading ? 'cursor-not-allowed' : ''"
|
:class="addDomainLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="addDomainLoading"
|
:disabled="addDomainLoading"
|
||||||
>
|
>
|
||||||
|
@ -389,18 +314,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="addDomainModalOpen = false"
|
@click="addDomainModalOpen = false"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -446,16 +360,7 @@
|
||||||
<div class="mt-6">
|
<div class="mt-6">
|
||||||
<button
|
<button
|
||||||
@click="checkRecords(domainToCheck)"
|
@click="checkRecords(domainToCheck)"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="checkRecordsLoading ? 'cursor-not-allowed' : ''"
|
:class="checkRecordsLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="checkRecordsLoading"
|
:disabled="checkRecordsLoading"
|
||||||
>
|
>
|
||||||
|
@ -464,18 +369,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeCheckRecordsModal"
|
@click="closeCheckRecordsModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -514,17 +408,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="editDefaultRecipient()"
|
@click="editDefaultRecipient()"
|
||||||
class="
|
class="px-4 py-3 text-cyan-900 font-semibold bg-cyan-400 hover:bg-cyan-300 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-cyan-900
|
|
||||||
font-semibold
|
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="editDefaultRecipientLoading ? 'cursor-not-allowed' : ''"
|
:class="editDefaultRecipientLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="editDefaultRecipientLoading"
|
:disabled="editDefaultRecipientLoading"
|
||||||
>
|
>
|
||||||
|
@ -533,18 +417,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeDomainDefaultRecipientModal()"
|
@click="closeDomainDefaultRecipientModal()"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -567,17 +440,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="deleteDomain(domainIdToDelete)"
|
@click="deleteDomain(domainIdToDelete)"
|
||||||
class="
|
class="px-4 py-3 text-white font-semibold bg-red-500 hover:bg-red-600 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-white
|
|
||||||
font-semibold
|
|
||||||
bg-red-500
|
|
||||||
hover:bg-red-600
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="deleteDomainLoading ? 'cursor-not-allowed' : ''"
|
:class="deleteDomainLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="deleteDomainLoading"
|
:disabled="deleteDomainLoading"
|
||||||
>
|
>
|
||||||
|
@ -586,18 +449,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeDeleteModal"
|
@click="closeDeleteModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -7,55 +7,19 @@
|
||||||
@keyup.esc="search = ''"
|
@keyup.esc="search = ''"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full md:w-64 appearance-none shadow bg-white text-grey-700 focus:outline-none rounded py-3 pl-3 pr-8"
|
||||||
w-full
|
|
||||||
md:w-64
|
|
||||||
appearance-none
|
|
||||||
shadow
|
|
||||||
bg-white
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
py-3
|
|
||||||
pl-3
|
|
||||||
pr-8
|
|
||||||
"
|
|
||||||
placeholder="Search Failed Deliveries"
|
placeholder="Search Failed Deliveries"
|
||||||
/>
|
/>
|
||||||
<icon
|
<icon
|
||||||
v-if="search"
|
v-if="search"
|
||||||
@click.native="search = ''"
|
@click.native="search = ''"
|
||||||
name="close-circle"
|
name="close-circle"
|
||||||
class="
|
class="absolute right-0 inset-y-0 w-5 h-full text-grey-300 fill-current mr-2 flex items-center cursor-pointer"
|
||||||
absolute
|
|
||||||
right-0
|
|
||||||
inset-y-0
|
|
||||||
w-5
|
|
||||||
h-full
|
|
||||||
text-grey-300
|
|
||||||
fill-current
|
|
||||||
mr-2
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
cursor-pointer
|
|
||||||
"
|
|
||||||
/>
|
/>
|
||||||
<icon
|
<icon
|
||||||
v-else
|
v-else
|
||||||
name="search"
|
name="search"
|
||||||
class="
|
class="absolute right-0 inset-y-0 w-5 h-full text-grey-300 fill-current pointer-events-none mr-2 flex items-center"
|
||||||
absolute
|
|
||||||
right-0
|
|
||||||
inset-y-0
|
|
||||||
w-5
|
|
||||||
h-full
|
|
||||||
text-grey-300
|
|
||||||
fill-current
|
|
||||||
pointer-events-none
|
|
||||||
mr-2
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -187,17 +151,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="deleteFailedDelivery(failedDeliveryIdToDelete)"
|
@click="deleteFailedDelivery(failedDeliveryIdToDelete)"
|
||||||
class="
|
class="px-4 py-3 text-white font-semibold bg-red-500 hover:bg-red-600 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-white
|
|
||||||
font-semibold
|
|
||||||
bg-red-500
|
|
||||||
hover:bg-red-600
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="deleteFailedDeliveryLoading ? 'cursor-not-allowed' : ''"
|
:class="deleteFailedDeliveryLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="deleteFailedDeliveryLoading"
|
:disabled="deleteFailedDeliveryLoading"
|
||||||
>
|
>
|
||||||
|
@ -206,18 +160,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeDeleteModal"
|
@click="closeDeleteModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -7,71 +7,25 @@
|
||||||
@keyup.esc="search = ''"
|
@keyup.esc="search = ''"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full md:w-64 appearance-none shadow bg-white text-grey-700 focus:outline-none rounded py-3 pl-3 pr-8"
|
||||||
w-full
|
|
||||||
md:w-64
|
|
||||||
appearance-none
|
|
||||||
shadow
|
|
||||||
bg-white
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
py-3
|
|
||||||
pl-3
|
|
||||||
pr-8
|
|
||||||
"
|
|
||||||
placeholder="Search Recipients"
|
placeholder="Search Recipients"
|
||||||
/>
|
/>
|
||||||
<icon
|
<icon
|
||||||
v-if="search"
|
v-if="search"
|
||||||
@click.native="search = ''"
|
@click.native="search = ''"
|
||||||
name="close-circle"
|
name="close-circle"
|
||||||
class="
|
class="absolute right-0 inset-y-0 w-5 h-full text-grey-300 fill-current mr-2 flex items-center cursor-pointer"
|
||||||
absolute
|
|
||||||
right-0
|
|
||||||
inset-y-0
|
|
||||||
w-5
|
|
||||||
h-full
|
|
||||||
text-grey-300
|
|
||||||
fill-current
|
|
||||||
mr-2
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
cursor-pointer
|
|
||||||
"
|
|
||||||
/>
|
/>
|
||||||
<icon
|
<icon
|
||||||
v-else
|
v-else
|
||||||
name="search"
|
name="search"
|
||||||
class="
|
class="absolute right-0 inset-y-0 w-5 h-full text-grey-300 fill-current pointer-events-none mr-2 flex items-center"
|
||||||
absolute
|
|
||||||
right-0
|
|
||||||
inset-y-0
|
|
||||||
w-5
|
|
||||||
h-full
|
|
||||||
text-grey-300
|
|
||||||
fill-current
|
|
||||||
pointer-events-none
|
|
||||||
mr-2
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-4 md:mt-0">
|
<div class="mt-4 md:mt-0">
|
||||||
<button
|
<button
|
||||||
@click="addRecipientModalOpen = true"
|
@click="addRecipientModalOpen = true"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none ml-auto"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
ml-auto
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Add Recipient
|
Add Recipient
|
||||||
</button>
|
</button>
|
||||||
|
@ -165,17 +119,7 @@
|
||||||
/>
|
/>
|
||||||
<icon
|
<icon
|
||||||
name="fingerprint"
|
name="fingerprint"
|
||||||
class="
|
class="tooltip outline-none cursor-pointer block w-6 h-6 text-grey-300 fill-current mx-2"
|
||||||
tooltip
|
|
||||||
outline-none
|
|
||||||
cursor-pointer
|
|
||||||
block
|
|
||||||
w-6
|
|
||||||
h-6
|
|
||||||
text-grey-300
|
|
||||||
fill-current
|
|
||||||
mx-2
|
|
||||||
"
|
|
||||||
:data-tippy-content="props.row.fingerprint"
|
:data-tippy-content="props.row.fingerprint"
|
||||||
v-clipboard="() => props.row.fingerprint"
|
v-clipboard="() => props.row.fingerprint"
|
||||||
v-clipboard:success="clipboardSuccess"
|
v-clipboard:success="clipboardSuccess"
|
||||||
|
@ -246,33 +190,14 @@
|
||||||
<input
|
<input
|
||||||
v-model="newRecipient"
|
v-model="newRecipient"
|
||||||
type="email"
|
type="email"
|
||||||
class="
|
class="w-full appearance-none bg-grey-100 border border-transparent text-grey-700 focus:outline-none rounded p-3 mb-6"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border border-transparent
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
p-3
|
|
||||||
mb-6
|
|
||||||
"
|
|
||||||
:class="errors.newRecipient ? 'border-red-500' : ''"
|
:class="errors.newRecipient ? 'border-red-500' : ''"
|
||||||
placeholder="johndoe@example.com"
|
placeholder="johndoe@example.com"
|
||||||
autofocus
|
autofocus
|
||||||
/>
|
/>
|
||||||
<button
|
<button
|
||||||
@click="validateNewRecipient"
|
@click="validateNewRecipient"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="addRecipientLoading ? 'cursor-not-allowed' : ''"
|
:class="addRecipientLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="addRecipientLoading"
|
:disabled="addRecipientLoading"
|
||||||
>
|
>
|
||||||
|
@ -281,18 +206,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="addRecipientModalOpen = false"
|
@click="addRecipientModalOpen = false"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -315,17 +229,7 @@
|
||||||
</p>
|
</p>
|
||||||
<textarea
|
<textarea
|
||||||
v-model="recipientKey"
|
v-model="recipientKey"
|
||||||
class="
|
class="w-full appearance-none bg-grey-100 border border-transparent text-grey-700 focus:outline-none rounded p-3 mb-6"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border border-transparent
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
p-3
|
|
||||||
mb-6
|
|
||||||
"
|
|
||||||
:class="errors.recipientKey ? 'border-red-500' : ''"
|
:class="errors.recipientKey ? 'border-red-500' : ''"
|
||||||
placeholder="Begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'"
|
placeholder="Begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'"
|
||||||
rows="10"
|
rows="10"
|
||||||
|
@ -335,16 +239,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="validateRecipientKey"
|
@click="validateRecipientKey"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="addRecipientKeyLoading ? 'cursor-not-allowed' : ''"
|
:class="addRecipientKeyLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="addRecipientKeyLoading"
|
:disabled="addRecipientKeyLoading"
|
||||||
>
|
>
|
||||||
|
@ -353,18 +248,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeRecipientKeyModal"
|
@click="closeRecipientKeyModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -387,17 +271,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="deleteRecipientKey(recipientKeyToDelete)"
|
@click="deleteRecipientKey(recipientKeyToDelete)"
|
||||||
class="
|
class="px-4 py-3 text-white font-semibold bg-red-500 hover:bg-red-600 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-white
|
|
||||||
font-semibold
|
|
||||||
bg-red-500
|
|
||||||
hover:bg-red-600
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="deleteRecipientKeyLoading ? 'cursor-not-allowed' : ''"
|
:class="deleteRecipientKeyLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="deleteRecipientKeyLoading"
|
:disabled="deleteRecipientKeyLoading"
|
||||||
>
|
>
|
||||||
|
@ -406,18 +280,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeDeleteRecipientKeyModal"
|
@click="closeDeleteRecipientKeyModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -437,17 +300,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="deleteRecipient(recipientToDelete)"
|
@click="deleteRecipient(recipientToDelete)"
|
||||||
class="
|
class="px-4 py-3 text-white font-semibold bg-red-500 hover:bg-red-600 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-white
|
|
||||||
font-semibold
|
|
||||||
bg-red-500
|
|
||||||
hover:bg-red-600
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="deleteRecipientLoading ? 'cursor-not-allowed' : ''"
|
:class="deleteRecipientLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="deleteRecipientLoading"
|
:disabled="deleteRecipientLoading"
|
||||||
>
|
>
|
||||||
|
@ -456,18 +309,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeDeleteModal"
|
@click="closeDeleteModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -7,17 +7,7 @@
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
@click="openCreateModal"
|
@click="openCreateModal"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none ml-auto"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
ml-auto
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Add New Rule
|
Add New Rule
|
||||||
</button>
|
</button>
|
||||||
|
@ -110,16 +100,7 @@
|
||||||
v-model="createRuleObject.name"
|
v-model="createRuleObject.name"
|
||||||
id="rule_name"
|
id="rule_name"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full appearance-none bg-grey-100 border border-transparent text-grey-700 focus:outline-none rounded p-2"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border border-transparent
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
p-2
|
|
||||||
"
|
|
||||||
:class="errors.ruleName ? 'border-red-500' : ''"
|
:class="errors.ruleName ? 'border-red-500' : ''"
|
||||||
placeholder="Enter name"
|
placeholder="Enter name"
|
||||||
autofocus
|
autofocus
|
||||||
|
@ -136,34 +117,14 @@
|
||||||
<select
|
<select
|
||||||
v-model="createRuleObject.operator"
|
v-model="createRuleObject.operator"
|
||||||
id="rule_operator"
|
id="rule_operator"
|
||||||
class="
|
class="block appearance-none w-full text-grey-700 bg-white p-2 pr-6 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
w-full
|
|
||||||
text-grey-700
|
|
||||||
bg-white
|
|
||||||
p-2
|
|
||||||
pr-6
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option value="AND">AND</option>
|
<option value="AND">AND</option>
|
||||||
<option value="OR">OR</option>
|
<option value="OR">OR</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -187,18 +148,7 @@
|
||||||
<select
|
<select
|
||||||
v-model="createRuleObject.conditions[key].type"
|
v-model="createRuleObject.conditions[key].type"
|
||||||
id="rule_condition_types"
|
id="rule_condition_types"
|
||||||
class="
|
class="block appearance-none w-32 text-grey-700 bg-white p-2 pr-6 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
w-32
|
|
||||||
text-grey-700
|
|
||||||
bg-white
|
|
||||||
p-2
|
|
||||||
pr-6
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option
|
<option
|
||||||
|
@ -210,16 +160,7 @@
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -242,18 +183,7 @@
|
||||||
<select
|
<select
|
||||||
v-model="createRuleObject.conditions[key].match"
|
v-model="createRuleObject.conditions[key].match"
|
||||||
id="rule_condition_matches"
|
id="rule_condition_matches"
|
||||||
class="
|
class="block appearance-none w-40 text-grey-700 bg-white p-2 pr-6 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
w-40
|
|
||||||
text-grey-700
|
|
||||||
bg-white
|
|
||||||
p-2
|
|
||||||
pr-6
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option
|
<option
|
||||||
|
@ -265,16 +195,7 @@
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -293,26 +214,16 @@
|
||||||
v-model="createRuleObject.conditions[key].currentConditionValue"
|
v-model="createRuleObject.conditions[key].currentConditionValue"
|
||||||
@keyup.enter="addValueToCondition(createRuleObject, key)"
|
@keyup.enter="addValueToCondition(createRuleObject, key)"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full appearance-none bg-white border border-transparent rounded-l text-grey-700 focus:outline-none p-2"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-white
|
|
||||||
border border-transparent
|
|
||||||
rounded-l
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
p-2
|
|
||||||
"
|
|
||||||
:class="errors.createRuleValues ? 'border-red-500' : ''"
|
:class="errors.createRuleValues ? 'border-red-500' : ''"
|
||||||
placeholder="Enter value"
|
placeholder="Enter value"
|
||||||
autofocus
|
autofocus
|
||||||
/>
|
/>
|
||||||
<button class="p-2 bg-grey-200 rounded-r text-grey-600">
|
<button
|
||||||
<icon
|
@click="addValueToCondition(createRuleObject, key)"
|
||||||
name="check"
|
class="p-2 bg-grey-200 rounded-r text-grey-600"
|
||||||
class="block w-6 h-6 text-grey-600 fill-current cursor-pointer"
|
>
|
||||||
@click.native="addValueToCondition(createRuleObject, key)"
|
Insert
|
||||||
/>
|
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
|
@ -353,16 +264,7 @@
|
||||||
<!-- add condition button -->
|
<!-- add condition button -->
|
||||||
<button
|
<button
|
||||||
@click="addCondition(createRuleObject)"
|
@click="addCondition(createRuleObject)"
|
||||||
class="
|
class="mt-4 p-2 text-grey-800 bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
mt-4
|
|
||||||
p-2
|
|
||||||
text-grey-800
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Add condition
|
Add condition
|
||||||
</button>
|
</button>
|
||||||
|
@ -392,17 +294,7 @@
|
||||||
v-model="createRuleObject.actions[key].type"
|
v-model="createRuleObject.actions[key].type"
|
||||||
@change="ruleActionChange(createRuleObject.actions[key])"
|
@change="ruleActionChange(createRuleObject.actions[key])"
|
||||||
id="rule_action_types"
|
id="rule_action_types"
|
||||||
class="
|
class="block appearance-none text-grey-700 bg-white p-2 pr-6 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
text-grey-700
|
|
||||||
bg-white
|
|
||||||
p-2
|
|
||||||
pr-6
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option
|
<option
|
||||||
|
@ -414,16 +306,7 @@
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -449,16 +332,7 @@
|
||||||
<input
|
<input
|
||||||
v-model="createRuleObject.actions[key].value"
|
v-model="createRuleObject.actions[key].value"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full appearance-none bg-white border border-transparent rounded text-grey-700 focus:outline-none p-2"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-white
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
p-2
|
|
||||||
"
|
|
||||||
:class="errors.createRuleActionValue ? 'border-red-500' : ''"
|
:class="errors.createRuleActionValue ? 'border-red-500' : ''"
|
||||||
placeholder="Enter value"
|
placeholder="Enter value"
|
||||||
autofocus
|
autofocus
|
||||||
|
@ -474,18 +348,7 @@
|
||||||
<select
|
<select
|
||||||
v-model="createRuleObject.actions[key].value"
|
v-model="createRuleObject.actions[key].value"
|
||||||
id="create_rule_action_banner"
|
id="create_rule_action_banner"
|
||||||
class="
|
class="block appearance-none w-40 text-grey-700 bg-white p-2 pr-6 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
w-40
|
|
||||||
text-grey-700
|
|
||||||
bg-white
|
|
||||||
p-2
|
|
||||||
pr-6
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option selected value="top">Top</option>
|
<option selected value="top">Top</option>
|
||||||
|
@ -493,16 +356,7 @@
|
||||||
<option selected value="off">Off</option>
|
<option selected value="off">Off</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -532,16 +386,7 @@
|
||||||
<!-- add action button -->
|
<!-- add action button -->
|
||||||
<button
|
<button
|
||||||
@click="addAction(createRuleObject)"
|
@click="addAction(createRuleObject)"
|
||||||
class="
|
class="mt-4 p-2 text-grey-800 bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
mt-4
|
|
||||||
p-2
|
|
||||||
text-grey-800
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Add action
|
Add action
|
||||||
</button>
|
</button>
|
||||||
|
@ -551,19 +396,46 @@
|
||||||
</p>
|
</p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="border border-cyan-400 p-4 my-4 rounded-sm">
|
||||||
|
<legend class="px-2 leading-none text-sm">Run rule on</legend>
|
||||||
|
<div class="w-full flex">
|
||||||
|
<div class="relative flex items-center">
|
||||||
|
<input
|
||||||
|
v-model="createRuleObject.forwards"
|
||||||
|
id="forwards"
|
||||||
|
name="forwards"
|
||||||
|
type="checkbox"
|
||||||
|
class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded"
|
||||||
|
/>
|
||||||
|
<label for="forwards" class="ml-2 text-sm text-grey-700">Forwards</label>
|
||||||
|
</div>
|
||||||
|
<div class="relative flex items-center mx-4">
|
||||||
|
<input
|
||||||
|
v-model="createRuleObject.replies"
|
||||||
|
id="replies"
|
||||||
|
name="replies"
|
||||||
|
type="checkbox"
|
||||||
|
class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded"
|
||||||
|
/>
|
||||||
|
<label for="replies" class="ml-2 text-sm text-grey-700">Replies</label>
|
||||||
|
</div>
|
||||||
|
<div class="relative flex items-center">
|
||||||
|
<input
|
||||||
|
v-model="createRuleObject.sends"
|
||||||
|
id="sends"
|
||||||
|
name="sends"
|
||||||
|
type="checkbox"
|
||||||
|
class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded"
|
||||||
|
/>
|
||||||
|
<label for="sends" class="ml-2 text-sm text-grey-700">Sends</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
<div class="mt-6">
|
<div class="mt-6">
|
||||||
<button
|
<button
|
||||||
@click="createNewRule"
|
@click="createNewRule"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="createRuleLoading ? 'cursor-not-allowed' : ''"
|
:class="createRuleLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="createRuleLoading"
|
:disabled="createRuleLoading"
|
||||||
>
|
>
|
||||||
|
@ -572,18 +444,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="createRuleModalOpen = false"
|
@click="createRuleModalOpen = false"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -611,16 +472,7 @@
|
||||||
v-model="editRuleObject.name"
|
v-model="editRuleObject.name"
|
||||||
id="edit_rule_name"
|
id="edit_rule_name"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full appearance-none bg-grey-100 border border-transparent text-grey-700 focus:outline-none rounded p-2"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border border-transparent
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
p-2
|
|
||||||
"
|
|
||||||
:class="errors.ruleName ? 'border-red-500' : ''"
|
:class="errors.ruleName ? 'border-red-500' : ''"
|
||||||
placeholder="Enter name"
|
placeholder="Enter name"
|
||||||
autofocus
|
autofocus
|
||||||
|
@ -637,34 +489,14 @@
|
||||||
<select
|
<select
|
||||||
v-model="editRuleObject.operator"
|
v-model="editRuleObject.operator"
|
||||||
id="edit_rule_operator"
|
id="edit_rule_operator"
|
||||||
class="
|
class="block appearance-none w-full text-grey-700 bg-white p-2 pr-6 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
w-full
|
|
||||||
text-grey-700
|
|
||||||
bg-white
|
|
||||||
p-2
|
|
||||||
pr-6
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option value="AND">AND</option>
|
<option value="AND">AND</option>
|
||||||
<option value="OR">OR</option>
|
<option value="OR">OR</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -688,18 +520,7 @@
|
||||||
<select
|
<select
|
||||||
v-model="editRuleObject.conditions[key].type"
|
v-model="editRuleObject.conditions[key].type"
|
||||||
id="edit_rule_condition_types"
|
id="edit_rule_condition_types"
|
||||||
class="
|
class="block appearance-none w-32 text-grey-700 bg-white p-2 pr-6 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
w-32
|
|
||||||
text-grey-700
|
|
||||||
bg-white
|
|
||||||
p-2
|
|
||||||
pr-6
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option
|
<option
|
||||||
|
@ -711,16 +532,7 @@
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -740,18 +552,7 @@
|
||||||
<select
|
<select
|
||||||
v-model="editRuleObject.conditions[key].match"
|
v-model="editRuleObject.conditions[key].match"
|
||||||
id="edit_rule_condition_matches"
|
id="edit_rule_condition_matches"
|
||||||
class="
|
class="block appearance-none w-40 text-grey-700 bg-white p-2 pr-6 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
w-40
|
|
||||||
text-grey-700
|
|
||||||
bg-white
|
|
||||||
p-2
|
|
||||||
pr-6
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option
|
<option
|
||||||
|
@ -763,16 +564,7 @@
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -791,26 +583,16 @@
|
||||||
v-model="editRuleObject.conditions[key].currentConditionValue"
|
v-model="editRuleObject.conditions[key].currentConditionValue"
|
||||||
@keyup.enter="addValueToCondition(editRuleObect, key)"
|
@keyup.enter="addValueToCondition(editRuleObect, key)"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full appearance-none bg-white border border-transparent rounded-l text-grey-700 focus:outline-none p-2"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-white
|
|
||||||
border border-transparent
|
|
||||||
rounded-l
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
p-2
|
|
||||||
"
|
|
||||||
:class="errors.ruleConditions ? 'border-red-500' : ''"
|
:class="errors.ruleConditions ? 'border-red-500' : ''"
|
||||||
placeholder="Enter value"
|
placeholder="Enter value"
|
||||||
autofocus
|
autofocus
|
||||||
/>
|
/>
|
||||||
<button class="p-2 bg-grey-200 rounded-r text-grey-600">
|
<button
|
||||||
<icon
|
@click="addValueToCondition(editRuleObject, key)"
|
||||||
name="check"
|
class="p-2 bg-grey-200 rounded-r text-grey-600"
|
||||||
class="block w-6 h-6 text-grey-600 fill-current cursor-pointer"
|
>
|
||||||
@click.native="addValueToCondition(editRuleObject, key)"
|
Insert
|
||||||
/>
|
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
|
@ -848,16 +630,7 @@
|
||||||
<!-- add condition button -->
|
<!-- add condition button -->
|
||||||
<button
|
<button
|
||||||
@click="addCondition(editRuleObject)"
|
@click="addCondition(editRuleObject)"
|
||||||
class="
|
class="mt-4 p-2 text-grey-800 bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
mt-4
|
|
||||||
p-2
|
|
||||||
text-grey-800
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Add condition
|
Add condition
|
||||||
</button>
|
</button>
|
||||||
|
@ -887,17 +660,7 @@
|
||||||
v-model="editRuleObject.actions[key].type"
|
v-model="editRuleObject.actions[key].type"
|
||||||
@change="ruleActionChange(editRuleObject.actions[key])"
|
@change="ruleActionChange(editRuleObject.actions[key])"
|
||||||
id="rule_action_types"
|
id="rule_action_types"
|
||||||
class="
|
class="block appearance-none text-grey-700 bg-white p-2 pr-6 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
text-grey-700
|
|
||||||
bg-white
|
|
||||||
p-2
|
|
||||||
pr-6
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option
|
<option
|
||||||
|
@ -909,16 +672,7 @@
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -944,16 +698,7 @@
|
||||||
<input
|
<input
|
||||||
v-model="editRuleObject.actions[key].value"
|
v-model="editRuleObject.actions[key].value"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full appearance-none bg-white border border-transparent rounded text-grey-700 focus:outline-none p-2"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-white
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
p-2
|
|
||||||
"
|
|
||||||
:class="errors.ruleActions ? 'border-red-500' : ''"
|
:class="errors.ruleActions ? 'border-red-500' : ''"
|
||||||
placeholder="Enter value"
|
placeholder="Enter value"
|
||||||
autofocus
|
autofocus
|
||||||
|
@ -966,18 +711,7 @@
|
||||||
<select
|
<select
|
||||||
v-model="editRuleObject.actions[key].value"
|
v-model="editRuleObject.actions[key].value"
|
||||||
id="edit_rule_action_banner"
|
id="edit_rule_action_banner"
|
||||||
class="
|
class="block appearance-none w-40 text-grey-700 bg-white p-2 pr-6 rounded shadow focus:ring"
|
||||||
block
|
|
||||||
appearance-none
|
|
||||||
w-40
|
|
||||||
text-grey-700
|
|
||||||
bg-white
|
|
||||||
p-2
|
|
||||||
pr-6
|
|
||||||
rounded
|
|
||||||
shadow
|
|
||||||
focus:ring
|
|
||||||
"
|
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option value="top">Top</option>
|
<option value="top">Top</option>
|
||||||
|
@ -985,16 +719,7 @@
|
||||||
<option value="off">Off</option>
|
<option value="off">Off</option>
|
||||||
</select>
|
</select>
|
||||||
<div
|
<div
|
||||||
class="
|
class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"
|
||||||
pointer-events-none
|
|
||||||
absolute
|
|
||||||
inset-y-0
|
|
||||||
right-0
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
px-2
|
|
||||||
text-gray-700
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="fill-current h-4 w-4"
|
class="fill-current h-4 w-4"
|
||||||
|
@ -1024,16 +749,7 @@
|
||||||
<!-- add action button -->
|
<!-- add action button -->
|
||||||
<button
|
<button
|
||||||
@click="addAction(editRuleObject)"
|
@click="addAction(editRuleObject)"
|
||||||
class="
|
class="mt-4 p-2 text-grey-800 bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
mt-4
|
|
||||||
p-2
|
|
||||||
text-grey-800
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Add action
|
Add action
|
||||||
</button>
|
</button>
|
||||||
|
@ -1043,19 +759,46 @@
|
||||||
</p>
|
</p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="border border-cyan-400 p-4 my-4 rounded-sm">
|
||||||
|
<legend class="px-2 leading-none text-sm">Run rule on</legend>
|
||||||
|
<div class="w-full flex">
|
||||||
|
<div class="relative flex items-center">
|
||||||
|
<input
|
||||||
|
v-model="editRuleObject.forwards"
|
||||||
|
id="forwards"
|
||||||
|
name="forwards"
|
||||||
|
type="checkbox"
|
||||||
|
class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded"
|
||||||
|
/>
|
||||||
|
<label for="forwards" class="ml-2 text-sm text-grey-700">Forwards</label>
|
||||||
|
</div>
|
||||||
|
<div class="relative flex items-center mx-4">
|
||||||
|
<input
|
||||||
|
v-model="editRuleObject.replies"
|
||||||
|
id="replies"
|
||||||
|
name="replies"
|
||||||
|
type="checkbox"
|
||||||
|
class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded"
|
||||||
|
/>
|
||||||
|
<label for="replies" class="ml-2 text-sm text-grey-700">Replies</label>
|
||||||
|
</div>
|
||||||
|
<div class="relative flex items-center">
|
||||||
|
<input
|
||||||
|
v-model="editRuleObject.sends"
|
||||||
|
id="sends"
|
||||||
|
name="sends"
|
||||||
|
type="checkbox"
|
||||||
|
class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded"
|
||||||
|
/>
|
||||||
|
<label for="sends" class="ml-2 text-sm text-grey-700">Sends</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
<div class="mt-6">
|
<div class="mt-6">
|
||||||
<button
|
<button
|
||||||
@click="editRule"
|
@click="editRule"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="editRuleLoading ? 'cursor-not-allowed' : ''"
|
:class="editRuleLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="editRuleLoading"
|
:disabled="editRuleLoading"
|
||||||
>
|
>
|
||||||
|
@ -1064,18 +807,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeEditModal"
|
@click="closeEditModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -1095,17 +827,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="deleteRule(ruleIdToDelete)"
|
@click="deleteRule(ruleIdToDelete)"
|
||||||
class="
|
class="px-4 py-3 text-white font-semibold bg-red-500 hover:bg-red-600 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-white
|
|
||||||
font-semibold
|
|
||||||
bg-red-500
|
|
||||||
hover:bg-red-600
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="deleteRuleLoading ? 'cursor-not-allowed' : ''"
|
:class="deleteRuleLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="deleteRuleLoading"
|
:disabled="deleteRuleLoading"
|
||||||
>
|
>
|
||||||
|
@ -1114,18 +836,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeDeleteModal"
|
@click="closeDeleteModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -1178,6 +889,9 @@ export default {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
operator: 'AND',
|
operator: 'AND',
|
||||||
|
forwards: false,
|
||||||
|
replies: false,
|
||||||
|
sends: false,
|
||||||
},
|
},
|
||||||
rows: this.initialRules,
|
rows: this.initialRules,
|
||||||
conditionTypeOptions: [
|
conditionTypeOptions: [
|
||||||
|
@ -1313,6 +1027,9 @@ export default {
|
||||||
conditions: this.createRuleObject.conditions,
|
conditions: this.createRuleObject.conditions,
|
||||||
actions: this.createRuleObject.actions,
|
actions: this.createRuleObject.actions,
|
||||||
operator: this.createRuleObject.operator,
|
operator: this.createRuleObject.operator,
|
||||||
|
forwards: this.createRuleObject.forwards,
|
||||||
|
replies: this.createRuleObject.replies,
|
||||||
|
sends: this.createRuleObject.sends,
|
||||||
}),
|
}),
|
||||||
{
|
{
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
|
@ -1359,6 +1076,9 @@ export default {
|
||||||
conditions: this.editRuleObject.conditions,
|
conditions: this.editRuleObject.conditions,
|
||||||
actions: this.editRuleObject.actions,
|
actions: this.editRuleObject.actions,
|
||||||
operator: this.editRuleObject.operator,
|
operator: this.editRuleObject.operator,
|
||||||
|
forwards: this.editRuleObject.forwards,
|
||||||
|
replies: this.editRuleObject.replies,
|
||||||
|
sends: this.editRuleObject.sends,
|
||||||
}),
|
}),
|
||||||
{
|
{
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
|
@ -1372,6 +1092,9 @@ export default {
|
||||||
rule.conditions = this.editRuleObject.conditions
|
rule.conditions = this.editRuleObject.conditions
|
||||||
rule.actions = this.editRuleObject.actions
|
rule.actions = this.editRuleObject.actions
|
||||||
rule.operator = this.editRuleObject.operator
|
rule.operator = this.editRuleObject.operator
|
||||||
|
rule.forwards = this.editRuleObject.forwards
|
||||||
|
rule.replies = this.editRuleObject.replies
|
||||||
|
rule.sends = this.editRuleObject.sends
|
||||||
this.editRuleObject = {}
|
this.editRuleObject = {}
|
||||||
this.editRuleModalOpen = false
|
this.editRuleModalOpen = false
|
||||||
this.success('Rule successfully updated')
|
this.success('Rule successfully updated')
|
||||||
|
@ -1503,6 +1226,9 @@ export default {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
operator: 'AND',
|
operator: 'AND',
|
||||||
|
forwards: false,
|
||||||
|
replies: false,
|
||||||
|
sends: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ruleActionChange(action) {
|
ruleActionChange(action) {
|
||||||
|
|
|
@ -7,71 +7,25 @@
|
||||||
@keyup.esc="search = ''"
|
@keyup.esc="search = ''"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full md:w-64 appearance-none shadow bg-white text-grey-700 focus:outline-none rounded py-3 pl-3 pr-8"
|
||||||
w-full
|
|
||||||
md:w-64
|
|
||||||
appearance-none
|
|
||||||
shadow
|
|
||||||
bg-white
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
py-3
|
|
||||||
pl-3
|
|
||||||
pr-8
|
|
||||||
"
|
|
||||||
placeholder="Search Usernames"
|
placeholder="Search Usernames"
|
||||||
/>
|
/>
|
||||||
<icon
|
<icon
|
||||||
v-if="search"
|
v-if="search"
|
||||||
@click.native="search = ''"
|
@click.native="search = ''"
|
||||||
name="close-circle"
|
name="close-circle"
|
||||||
class="
|
class="absolute right-0 inset-y-0 w-5 h-full text-grey-300 fill-current mr-2 flex items-center cursor-pointer"
|
||||||
absolute
|
|
||||||
right-0
|
|
||||||
inset-y-0
|
|
||||||
w-5
|
|
||||||
h-full
|
|
||||||
text-grey-300
|
|
||||||
fill-current
|
|
||||||
mr-2
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
cursor-pointer
|
|
||||||
"
|
|
||||||
/>
|
/>
|
||||||
<icon
|
<icon
|
||||||
v-else
|
v-else
|
||||||
name="search"
|
name="search"
|
||||||
class="
|
class="absolute right-0 inset-y-0 w-5 h-full text-grey-300 fill-current pointer-events-none mr-2 flex items-center"
|
||||||
absolute
|
|
||||||
right-0
|
|
||||||
inset-y-0
|
|
||||||
w-5
|
|
||||||
h-full
|
|
||||||
text-grey-300
|
|
||||||
fill-current
|
|
||||||
pointer-events-none
|
|
||||||
mr-2
|
|
||||||
flex
|
|
||||||
items-center
|
|
||||||
"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-4 md:mt-0">
|
<div class="mt-4 md:mt-0">
|
||||||
<button
|
<button
|
||||||
@click="addUsernameModalOpen = true"
|
@click="addUsernameModalOpen = true"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none ml-auto"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
ml-auto
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Add Username
|
Add Username
|
||||||
</button>
|
</button>
|
||||||
|
@ -121,17 +75,7 @@
|
||||||
@keyup.esc="usernameIdToEdit = usernameDescriptionToEdit = ''"
|
@keyup.esc="usernameIdToEdit = usernameDescriptionToEdit = ''"
|
||||||
v-model="usernameDescriptionToEdit"
|
v-model="usernameDescriptionToEdit"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="flex-grow appearance-none bg-grey-100 border text-grey-700 focus:outline-none rounded px-2 py-1"
|
||||||
flex-grow
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
px-2
|
|
||||||
py-1
|
|
||||||
"
|
|
||||||
:class="
|
:class="
|
||||||
usernameDescriptionToEdit.length > 200 ? 'border-red-500' : 'border-transparent'
|
usernameDescriptionToEdit.length > 200 ? 'border-red-500' : 'border-transparent'
|
||||||
"
|
"
|
||||||
|
@ -256,33 +200,14 @@
|
||||||
<input
|
<input
|
||||||
v-model="newUsername"
|
v-model="newUsername"
|
||||||
type="text"
|
type="text"
|
||||||
class="
|
class="w-full appearance-none bg-grey-100 border border-transparent text-grey-700 focus:outline-none rounded p-3 mb-6"
|
||||||
w-full
|
|
||||||
appearance-none
|
|
||||||
bg-grey-100
|
|
||||||
border border-transparent
|
|
||||||
text-grey-700
|
|
||||||
focus:outline-none
|
|
||||||
rounded
|
|
||||||
p-3
|
|
||||||
mb-6
|
|
||||||
"
|
|
||||||
:class="errors.newUsername ? 'border-red-500' : ''"
|
:class="errors.newUsername ? 'border-red-500' : ''"
|
||||||
placeholder="johndoe"
|
placeholder="johndoe"
|
||||||
autofocus
|
autofocus
|
||||||
/>
|
/>
|
||||||
<button
|
<button
|
||||||
@click="validateNewUsername"
|
@click="validateNewUsername"
|
||||||
class="
|
class="bg-cyan-400 hover:bg-cyan-300 text-cyan-900 font-bold py-3 px-4 rounded focus:outline-none"
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
text-cyan-900
|
|
||||||
font-bold
|
|
||||||
py-3
|
|
||||||
px-4
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="addUsernameLoading ? 'cursor-not-allowed' : ''"
|
:class="addUsernameLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="addUsernameLoading"
|
:disabled="addUsernameLoading"
|
||||||
>
|
>
|
||||||
|
@ -291,18 +216,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="addUsernameModalOpen = false"
|
@click="addUsernameModalOpen = false"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -341,17 +255,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="editDefaultRecipient()"
|
@click="editDefaultRecipient()"
|
||||||
class="
|
class="px-4 py-3 text-cyan-900 font-semibold bg-cyan-400 hover:bg-cyan-300 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-cyan-900
|
|
||||||
font-semibold
|
|
||||||
bg-cyan-400
|
|
||||||
hover:bg-cyan-300
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="editDefaultRecipientLoading ? 'cursor-not-allowed' : ''"
|
:class="editDefaultRecipientLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="editDefaultRecipientLoading"
|
:disabled="editDefaultRecipientLoading"
|
||||||
>
|
>
|
||||||
|
@ -360,18 +264,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeUsernameDefaultRecipientModal()"
|
@click="closeUsernameDefaultRecipientModal()"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
@ -396,17 +289,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@click="deleteUsername(usernameIdToDelete)"
|
@click="deleteUsername(usernameIdToDelete)"
|
||||||
class="
|
class="px-4 py-3 text-white font-semibold bg-red-500 hover:bg-red-600 border border-transparent rounded focus:outline-none"
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-white
|
|
||||||
font-semibold
|
|
||||||
bg-red-500
|
|
||||||
hover:bg-red-600
|
|
||||||
border border-transparent
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
:class="deleteUsernameLoading ? 'cursor-not-allowed' : ''"
|
:class="deleteUsernameLoading ? 'cursor-not-allowed' : ''"
|
||||||
:disabled="deleteUsernameLoading"
|
:disabled="deleteUsernameLoading"
|
||||||
>
|
>
|
||||||
|
@ -415,18 +298,7 @@
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeDeleteModal"
|
@click="closeDeleteModal"
|
||||||
class="
|
class="ml-4 px-4 py-3 text-grey-800 font-semibold bg-white hover:bg-grey-50 border border-grey-100 rounded focus:outline-none"
|
||||||
ml-4
|
|
||||||
px-4
|
|
||||||
py-3
|
|
||||||
text-grey-800
|
|
||||||
font-semibold
|
|
||||||
bg-white
|
|
||||||
hover:bg-grey-50
|
|
||||||
border border-grey-100
|
|
||||||
rounded
|
|
||||||
focus:outline-none
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -91,7 +91,10 @@ class RulesTest extends TestCase
|
||||||
'value' => 'New Subject!'
|
'value' => 'New Subject!'
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'operator' => 'AND'
|
'operator' => 'AND',
|
||||||
|
'forwards' => true,
|
||||||
|
'replies' => false,
|
||||||
|
'sends' => false
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$response->assertStatus(201);
|
$response->assertStatus(201);
|
||||||
|
@ -118,7 +121,10 @@ class RulesTest extends TestCase
|
||||||
'value' => 'New Subject!'
|
'value' => 'New Subject!'
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'operator' => 'AND'
|
'operator' => 'AND',
|
||||||
|
'forwards' => true,
|
||||||
|
'replies' => false,
|
||||||
|
'sends' => false
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$response->assertStatus(422);
|
$response->assertStatus(422);
|
||||||
|
@ -149,7 +155,10 @@ class RulesTest extends TestCase
|
||||||
'value' => 'New Subject!'
|
'value' => 'New Subject!'
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'operator' => 'OR'
|
'operator' => 'OR',
|
||||||
|
'forwards' => true,
|
||||||
|
'replies' => false,
|
||||||
|
'sends' => false
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
|
@ -235,6 +244,9 @@ class RulesTest extends TestCase
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'operator' => 'AND',
|
'operator' => 'AND',
|
||||||
|
'forwards' => true,
|
||||||
|
'replies' => false,
|
||||||
|
'sends' => false
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$alias = Alias::factory()->create([
|
$alias = Alias::factory()->create([
|
||||||
|
@ -257,6 +269,66 @@ class RulesTest extends TestCase
|
||||||
$this->assertEquals('New Subject!', $email->subject);
|
$this->assertEquals('New Subject!', $email->subject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @test */
|
||||||
|
public function it_does_not_apply_rules_if_email_type_is_not_selected()
|
||||||
|
{
|
||||||
|
Rule::factory()->create([
|
||||||
|
'user_id' => $this->user->id,
|
||||||
|
'conditions' => [
|
||||||
|
[
|
||||||
|
'type' => 'subject',
|
||||||
|
'match' => 'is exactly',
|
||||||
|
'values' => [
|
||||||
|
'Test Email'
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'type' => 'sender',
|
||||||
|
'match' => 'starts with',
|
||||||
|
'values' => [
|
||||||
|
'will'
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'type' => 'alias',
|
||||||
|
'match' => 'is exactly',
|
||||||
|
'values' => [
|
||||||
|
'ebay@johndoe.anonaddy.com'
|
||||||
|
]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'actions' => [
|
||||||
|
[
|
||||||
|
'type' => 'subject',
|
||||||
|
'value' => 'New Subject!'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'operator' => 'AND',
|
||||||
|
'forwards' => false,
|
||||||
|
'replies' => true,
|
||||||
|
'sends' => true
|
||||||
|
]);
|
||||||
|
|
||||||
|
$alias = Alias::factory()->create([
|
||||||
|
'user_id' => $this->user->id,
|
||||||
|
'email' => 'ebay@johndoe.'.config('anonaddy.domain'),
|
||||||
|
'local_part' => 'ebay',
|
||||||
|
'domain' => 'johndoe.'.config('anonaddy.domain'),
|
||||||
|
]);
|
||||||
|
|
||||||
|
$parser = $this->getParser(base_path('tests/emails/email.eml'));
|
||||||
|
|
||||||
|
$size = 1500;
|
||||||
|
|
||||||
|
$emailData = new EmailData($parser, $size);
|
||||||
|
|
||||||
|
$job = new ForwardEmail($alias, $emailData, $this->user->defaultRecipient);
|
||||||
|
|
||||||
|
$email = $job->build();
|
||||||
|
|
||||||
|
$this->assertEquals($parser->getHeader('subject'), $email->subject);
|
||||||
|
}
|
||||||
|
|
||||||
/** @test */
|
/** @test */
|
||||||
public function it_can_apply_user_rules_in_correct_order()
|
public function it_can_apply_user_rules_in_correct_order()
|
||||||
{
|
{
|
||||||
|
@ -278,6 +350,9 @@ class RulesTest extends TestCase
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'operator' => 'AND',
|
'operator' => 'AND',
|
||||||
|
'forwards' => true,
|
||||||
|
'replies' => false,
|
||||||
|
'sends' => false,
|
||||||
'order' => 1
|
'order' => 1
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
@ -313,6 +388,9 @@ class RulesTest extends TestCase
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'operator' => 'AND',
|
'operator' => 'AND',
|
||||||
|
'forwards' => true,
|
||||||
|
'replies' => false,
|
||||||
|
'sends' => false
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$alias = Alias::factory()->create([
|
$alias = Alias::factory()->create([
|
||||||
|
|
Loading…
Add table
Reference in a new issue