mirror of
https://github.com/turt2live/matrix-dimension.git
synced 2024-09-02 23:21:58 +00:00
Format web code
This commit is contained in:
parent
2e19cec215
commit
2737850e6f
@ -6,8 +6,8 @@
|
|||||||
<div class="my-ibox-content">
|
<div class="my-ibox-content">
|
||||||
<p>
|
<p>
|
||||||
<a href="https://github.com/matrix-org/matrix-appservice-gitter" target="_blank">matrix-appservice-gitter</a>
|
<a href="https://github.com/matrix-org/matrix-appservice-gitter" target="_blank">matrix-appservice-gitter</a>
|
||||||
is a Gitter bridge that supports bridging Gitter rooms to Matrix. Users on Matrix are represented as a single
|
is a Gitter bridge that supports bridging Gitter rooms to Matrix. Users on Matrix are represented as a
|
||||||
bot user in Gitter, however Gitter users are represented as real-looking Matrix users in the room.
|
single bot user in Gitter, however Gitter users are represented as real-looking Matrix users in the room.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<table class="table table-striped table-condensed table-bordered">
|
<table class="table table-striped table-condensed table-bordered">
|
||||||
@ -24,7 +24,8 @@
|
|||||||
<tr *ngFor="let bridge of configurations trackById">
|
<tr *ngFor="let bridge of configurations trackById">
|
||||||
<td>
|
<td>
|
||||||
{{ bridge.upstreamId ? "matrix.org's bridge" : "Self-hosted bridge" }}
|
{{ bridge.upstreamId ? "matrix.org's bridge" : "Self-hosted bridge" }}
|
||||||
<span class="text-muted" style="display: inline-block;" *ngIf="!bridge.upstreamId">({{ bridge.provisionUrl }})</span>
|
<span class="text-muted" style="display: inline-block;"
|
||||||
|
*ngIf="!bridge.upstreamId">({{ bridge.provisionUrl }})</span>
|
||||||
</td>
|
</td>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<span class="editButton" (click)="editBridge(bridge)" *ngIf="!bridge.upstreamId">
|
<span class="editButton" (click)="editBridge(bridge)" *ngIf="!bridge.upstreamId">
|
||||||
@ -34,10 +35,12 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<button type="button" class="btn btn-success btn-sm" (click)="addModularHostedBridge()" [disabled]="(configurations && configurations.length > 0) || isUpdating">
|
<button type="button" class="btn btn-success btn-sm" (click)="addModularHostedBridge()"
|
||||||
|
[disabled]="(configurations && configurations.length > 0) || isUpdating">
|
||||||
<i class="fa fa-plus"></i> Add matrix.org's bridge
|
<i class="fa fa-plus"></i> Add matrix.org's bridge
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-success btn-sm" (click)="addSelfHostedBridge()" [disabled]="(configurations && configurations.length > 0) || isUpdating">
|
<button type="button" class="btn btn-success btn-sm" (click)="addSelfHostedBridge()"
|
||||||
|
[disabled]="(configurations && configurations.length > 0) || isUpdating">
|
||||||
<i class="fa fa-plus"></i> Add self-hosted bridge
|
<i class="fa fa-plus"></i> Add self-hosted bridge
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,7 +3,10 @@
|
|||||||
<h4>{{ isAdding ? "Add a new" : "Edit" }} self-hosted Gitter bridge</h4>
|
<h4>{{ isAdding ? "Add a new" : "Edit" }} self-hosted Gitter bridge</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="dialog-content">
|
<div class="dialog-content">
|
||||||
<p>Self-hosted Gitter bridges already have provisioning enabled. Be careful not to expose the API to the public internet.</p>
|
<p>
|
||||||
|
Self-hosted Gitter bridges already have provisioning enabled. Be careful not to expose the API to the public
|
||||||
|
internet.
|
||||||
|
</p>
|
||||||
|
|
||||||
<label class="label-block">
|
<label class="label-block">
|
||||||
Provisioning URL
|
Provisioning URL
|
||||||
|
@ -25,7 +25,8 @@
|
|||||||
<tr *ngFor="let bridge of configurations trackById">
|
<tr *ngFor="let bridge of configurations trackById">
|
||||||
<td>
|
<td>
|
||||||
{{ bridge.upstreamId ? "matrix.org's bridge" : "Self-hosted bridge" }}
|
{{ bridge.upstreamId ? "matrix.org's bridge" : "Self-hosted bridge" }}
|
||||||
<span class="text-muted" style="display: inline-block;" *ngIf="!bridge.upstreamId">({{ bridge.provisionUrl }})</span>
|
<span class="text-muted" style="display: inline-block;"
|
||||||
|
*ngIf="!bridge.upstreamId">({{ bridge.provisionUrl }})</span>
|
||||||
</td>
|
</td>
|
||||||
<td *ngIf="bridge.isOnline">
|
<td *ngIf="bridge.isOnline">
|
||||||
{{ getEnabledNetworksString(bridge) }}
|
{{ getEnabledNetworksString(bridge) }}
|
||||||
@ -42,7 +43,8 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<button type="button" class="btn btn-success btn-sm" (click)="addModularHostedBridge()" *ngIf="!hasModularBridge">
|
<button type="button" class="btn btn-success btn-sm" (click)="addModularHostedBridge()"
|
||||||
|
*ngIf="!hasModularBridge">
|
||||||
<i class="fa fa-plus"></i> Add matrix.org's bridge
|
<i class="fa fa-plus"></i> Add matrix.org's bridge
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-success btn-sm" (click)="addSelfHostedBridge()">
|
<button type="button" class="btn btn-success btn-sm" (click)="addSelfHostedBridge()">
|
||||||
|
@ -3,7 +3,10 @@
|
|||||||
<h4>{{ isAdding ? "Add a new" : "Edit" }} self-hosted Slack bridge</h4>
|
<h4>{{ isAdding ? "Add a new" : "Edit" }} self-hosted Slack bridge</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="dialog-content">
|
<div class="dialog-content">
|
||||||
<p>Self-hosted Slack bridges already have provisioning enabled. Be careful not to expose the API to the public internet.</p>
|
<p>
|
||||||
|
Self-hosted Slack bridges already have provisioning enabled. Be careful not to expose the API to the public
|
||||||
|
internet.
|
||||||
|
</p>
|
||||||
|
|
||||||
<label class="label-block">
|
<label class="label-block">
|
||||||
Provisioning URL
|
Provisioning URL
|
||||||
|
@ -5,9 +5,10 @@
|
|||||||
<my-ibox boxTitle="Slack Bridge Configurations">
|
<my-ibox boxTitle="Slack Bridge Configurations">
|
||||||
<div class="my-ibox-content">
|
<div class="my-ibox-content">
|
||||||
<p>
|
<p>
|
||||||
<a href="https://github.com/matrix-org/matrix-appservice-slack" target="_blank">matrix-appservice-slack</a>
|
<a href="https://github.com/matrix-org/matrix-appservice-slack"
|
||||||
is a Slack bridge that supports bridging Slack channels to Matrix. Users authorize the bridge to access their
|
target="_blank">matrix-appservice-slack</a>
|
||||||
Slack workspaces and from there they can pick the channels they'd like to bridge.
|
is a Slack bridge that supports bridging Slack channels to Matrix. Users authorize the bridge to access
|
||||||
|
their Slack workspaces and from there they can pick the channels they'd like to bridge.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<table class="table table-striped table-condensed table-bordered">
|
<table class="table table-striped table-condensed table-bordered">
|
||||||
@ -24,7 +25,8 @@
|
|||||||
<tr *ngFor="let bridge of configurations trackById">
|
<tr *ngFor="let bridge of configurations trackById">
|
||||||
<td>
|
<td>
|
||||||
{{ bridge.upstreamId ? "matrix.org's bridge" : "Self-hosted bridge" }}
|
{{ bridge.upstreamId ? "matrix.org's bridge" : "Self-hosted bridge" }}
|
||||||
<span class="text-muted" style="display: inline-block;" *ngIf="!bridge.upstreamId">({{ bridge.provisionUrl }})</span>
|
<span class="text-muted" style="display: inline-block;"
|
||||||
|
*ngIf="!bridge.upstreamId">({{ bridge.provisionUrl }})</span>
|
||||||
</td>
|
</td>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<span class="editButton" (click)="editBridge(bridge)" *ngIf="!bridge.upstreamId">
|
<span class="editButton" (click)="editBridge(bridge)" *ngIf="!bridge.upstreamId">
|
||||||
@ -34,10 +36,12 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<button type="button" class="btn btn-success btn-sm" (click)="addModularHostedBridge()" [disabled]="(configurations && configurations.length > 0) || isUpdating">
|
<button type="button" class="btn btn-success btn-sm" (click)="addModularHostedBridge()"
|
||||||
|
[disabled]="(configurations && configurations.length > 0) || isUpdating">
|
||||||
<i class="fa fa-plus"></i> Add matrix.org's bridge
|
<i class="fa fa-plus"></i> Add matrix.org's bridge
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-success btn-sm" (click)="addSelfHostedBridge()" [disabled]="(configurations && configurations.length > 0) || isUpdating">
|
<button type="button" class="btn btn-success btn-sm" (click)="addSelfHostedBridge()"
|
||||||
|
[disabled]="(configurations && configurations.length > 0) || isUpdating">
|
||||||
<i class="fa fa-plus"></i> Add self-hosted bridge
|
<i class="fa fa-plus"></i> Add self-hosted bridge
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -27,7 +27,8 @@
|
|||||||
<tr *ngFor="let bridge of configurations trackById">
|
<tr *ngFor="let bridge of configurations trackById">
|
||||||
<td>
|
<td>
|
||||||
{{ bridge.upstreamId ? "matrix.org's bridge" : "Self-hosted bridge" }}
|
{{ bridge.upstreamId ? "matrix.org's bridge" : "Self-hosted bridge" }}
|
||||||
<span class="text-muted" style="display: inline-block;" *ngIf="!bridge.upstreamId">({{ bridge.provisionUrl }})</span>
|
<span class="text-muted" style="display: inline-block;"
|
||||||
|
*ngIf="!bridge.upstreamId">({{ bridge.provisionUrl }})</span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{{ getEnabledFeaturesString(bridge) }}
|
{{ getEnabledFeaturesString(bridge) }}
|
||||||
@ -40,7 +41,8 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<button type="button" class="btn btn-success btn-sm" (click)="addSelfHostedBridge()" [disabled]="configurations && configurations.length > 0">
|
<button type="button" class="btn btn-success btn-sm" (click)="addSelfHostedBridge()"
|
||||||
|
[disabled]="configurations && configurations.length > 0">
|
||||||
<i class="fa fa-plus"></i> Add self-hosted bridge
|
<i class="fa fa-plus"></i> Add self-hosted bridge
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -23,7 +23,8 @@
|
|||||||
<tr *ngFor="let bridge of configurations trackById">
|
<tr *ngFor="let bridge of configurations trackById">
|
||||||
<td>
|
<td>
|
||||||
{{ bridge.upstreamId ? "matrix.org's bridge" : "Self-hosted bridge" }}
|
{{ bridge.upstreamId ? "matrix.org's bridge" : "Self-hosted bridge" }}
|
||||||
<span class="text-muted" style="display: inline-block;" *ngIf="!bridge.upstreamId">({{ bridge.provisionUrl }})</span>
|
<span class="text-muted" style="display: inline-block;"
|
||||||
|
*ngIf="!bridge.upstreamId">({{ bridge.provisionUrl }})</span>
|
||||||
</td>
|
</td>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<span class="editButton" (click)="editBridge(bridge)">
|
<span class="editButton" (click)="editBridge(bridge)">
|
||||||
@ -33,7 +34,8 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<button type="button" class="btn btn-success btn-sm" (click)="addSelfHostedBridge()" [disabled]="configurations && configurations.length > 0">
|
<button type="button" class="btn btn-success btn-sm" (click)="addSelfHostedBridge()"
|
||||||
|
[disabled]="configurations && configurations.length > 0">
|
||||||
<i class="fa fa-plus"></i> Add self-hosted bridge
|
<i class="fa fa-plus"></i> Add self-hosted bridge
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -4,7 +4,10 @@
|
|||||||
<div *ngIf="!isLoading">
|
<div *ngIf="!isLoading">
|
||||||
<my-ibox boxTitle="Configuration">
|
<my-ibox boxTitle="Configuration">
|
||||||
<div class="my-ibox-content">
|
<div class="my-ibox-content">
|
||||||
<p>Parts of your configuration are displayed below. To change these values, edit your configuration and restart Dimension.</p>
|
<p>
|
||||||
|
Parts of your configuration are displayed below. To change these values, edit your configuration and
|
||||||
|
restart Dimension.
|
||||||
|
</p>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
@ -20,19 +23,19 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<strong>Homeserver</strong><br />
|
<strong>Homeserver</strong><br/>
|
||||||
Name: {{ config.homeserver.name }}<br />
|
Name: {{ config.homeserver.name }}<br/>
|
||||||
Federation URL: {{ config.homeserver.federationUrl }}<br />
|
Federation URL: {{ config.homeserver.federationUrl }}<br/>
|
||||||
Federation Hostname: {{ config.homeserver.federationHostname }}<br />
|
Federation Hostname: {{ config.homeserver.federationHostname }}<br/>
|
||||||
Client/Server URL: {{ config.homeserver.clientServerUrl }}<br />
|
Client/Server URL: {{ config.homeserver.clientServerUrl }}<br/>
|
||||||
Utility User ID: {{ config.homeserver.userId }}
|
Utility User ID: {{ config.homeserver.userId }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<strong>Sessions</strong><br />
|
<strong>Sessions</strong><br/>
|
||||||
Tokens registered: {{ config.sessionInfo.numTokens }}<br />
|
Tokens registered: {{ config.sessionInfo.numTokens }}<br/>
|
||||||
<button class="btn btn-danger btn-sm" type="button" (click)="logoutAll()">
|
<button class="btn btn-danger btn-sm" type="button" (click)="logoutAll()">
|
||||||
Logout Everyone
|
Logout Everyone
|
||||||
</button>
|
</button>
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
<div class="dialog-content">
|
<div class="dialog-content">
|
||||||
<p>
|
<p>
|
||||||
Logging everyone out will disable all known login tokens for Dimension and upstream integration managers.
|
Logging everyone out will disable all known login tokens for Dimension and upstream integration managers.
|
||||||
Most clients will automatically re-register for a login token behind the scenes, similar to how a login token
|
Most clients will automatically re-register for a login token behind the scenes, similar to how a login
|
||||||
was first acquired.
|
token was first acquired.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
|
@ -11,5 +11,6 @@ export class LogoutConfirmationDialogContext extends BSModalContext {
|
|||||||
})
|
})
|
||||||
export class AdminLogoutConfirmationDialogComponent implements ModalComponent<LogoutConfirmationDialogContext> {
|
export class AdminLogoutConfirmationDialogComponent implements ModalComponent<LogoutConfirmationDialogContext> {
|
||||||
|
|
||||||
constructor(public dialog: DialogRef<LogoutConfirmationDialogContext>) {}
|
constructor(public dialog: DialogRef<LogoutConfirmationDialogContext>) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
<my-ibox boxTitle="New self-hosted go-neb">
|
<my-ibox boxTitle="New self-hosted go-neb">
|
||||||
<div class="my-ibox-content">
|
<div class="my-ibox-content">
|
||||||
<p>Self-hosted go-neb instances are powered by application services installed on your homeserver. The application service is responsible for creating the bots dynamically.</p>
|
<p>
|
||||||
|
Self-hosted go-neb instances are powered by application services installed on your homeserver. The
|
||||||
|
application service is responsible for creating the bots dynamically.
|
||||||
|
</p>
|
||||||
|
|
||||||
<label class="label-block">
|
<label class="label-block">
|
||||||
User Prefix
|
User Prefix
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
Image Size
|
Image Size
|
||||||
<span class="text-muted ">GIFs can be large, and sometimes it is more desirable to have them downsized.</span>
|
<span class="text-muted ">GIFs can be large, and sometimes it is more desirable to have them downsized.</span>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input type="checkbox" [(ngModel)]="config.use_downsized" [disabled]="isUpdating" />
|
<input type="checkbox" [(ngModel)]="config.use_downsized" [disabled]="isUpdating"/>
|
||||||
Use downsized images
|
Use downsized images
|
||||||
</label>
|
</label>
|
||||||
</label>
|
</label>
|
||||||
|
@ -24,7 +24,8 @@
|
|||||||
<tr *ngFor="let neb of configurations trackById">
|
<tr *ngFor="let neb of configurations trackById">
|
||||||
<td>
|
<td>
|
||||||
{{ neb.upstreamId ? "matrix.org's go-neb" : "Self-hosted go-neb" }}
|
{{ neb.upstreamId ? "matrix.org's go-neb" : "Self-hosted go-neb" }}
|
||||||
<span class="text-muted" style="display: inline-block;" *ngIf="!neb.upstreamId">({{ neb.adminUrl }})</span>
|
<span class="text-muted" style="display: inline-block;"
|
||||||
|
*ngIf="!neb.upstreamId">({{ neb.adminUrl }})</span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{{ getEnabledBotsString(neb) }}
|
{{ getEnabledBotsString(neb) }}
|
||||||
|
@ -11,8 +11,9 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="input-group input-group-sm telegram-import">
|
<div class="input-group input-group-sm telegram-import">
|
||||||
<input type="text" class="form-control" [(ngModel)]="tgUrl" placeholder="https://t.me/addstickers/YourPackID"
|
<input type="text" class="form-control" [(ngModel)]="tgUrl"
|
||||||
[disabled]="isImporting" />
|
placeholder="https://t.me/addstickers/YourPackID"
|
||||||
|
[disabled]="isImporting"/>
|
||||||
<span class="input-group-btn">
|
<span class="input-group-btn">
|
||||||
<button class="btn btn-primary" (click)="startTelegramImport()" [disabled]="!tgUrl || isImporting">
|
<button class="btn btn-primary" (click)="startTelegramImport()" [disabled]="!tgUrl || isImporting">
|
||||||
<i class="fa fa-download"></i>
|
<i class="fa fa-download"></i>
|
||||||
|
@ -10,7 +10,8 @@
|
|||||||
<label class="label-block">
|
<label class="label-block">
|
||||||
Name
|
Name
|
||||||
<span class="text-muted ">The translated name of your policy</span>
|
<span class="text-muted ">The translated name of your policy</span>
|
||||||
<input type="text" class="form-control" placeholder="My Policy" [(ngModel)]="languages[code].name" [disabled]="isUpdating"/>
|
<input type="text" class="form-control" placeholder="My Policy" [(ngModel)]="languages[code].name"
|
||||||
|
[disabled]="isUpdating"/>
|
||||||
</label>
|
</label>
|
||||||
<label class="label-block">
|
<label class="label-block">
|
||||||
Policy text
|
Policy text
|
||||||
@ -19,16 +20,16 @@
|
|||||||
<ckeditor [editor]="Editor" [(ngModel)]="languages[code].text" [disabled]="isUpdating"></ckeditor>
|
<ckeditor [editor]="Editor" [(ngModel)]="languages[code].text" [disabled]="isUpdating"></ckeditor>
|
||||||
</div>
|
</div>
|
||||||
</my-ibox>
|
</my-ibox>
|
||||||
<!-- <my-ibox [hasTitle]="false">-->
|
<!-- <my-ibox [hasTitle]="false">-->
|
||||||
<!-- <div class="my-ibox-content buttons">-->
|
<!-- <div class="my-ibox-content buttons">-->
|
||||||
<!-- <select [(ngModel)]="chosenLanguage" [disabled]="isUpdating" class="form-control form-control-sm">-->
|
<!-- <select [(ngModel)]="chosenLanguage" [disabled]="isUpdating" class="form-control form-control-sm">-->
|
||||||
<!-- <option *ngFor="let lang of availableLanguages" [ngValue]="lang.code">{{lang.name}}</option>-->
|
<!-- <option *ngFor="let lang of availableLanguages" [ngValue]="lang.code">{{lang.name}}</option>-->
|
||||||
<!-- </select>-->
|
<!-- </select>-->
|
||||||
<!-- <button type="button" (click)="addLanguage()" title="save" class="btn btn-outline-success btn-sm">-->
|
<!-- <button type="button" (click)="addLanguage()" title="save" class="btn btn-outline-success btn-sm">-->
|
||||||
<!-- <i class="fa fa-plus"></i> Add language-->
|
<!-- <i class="fa fa-plus"></i> Add language-->
|
||||||
<!-- </button>-->
|
<!-- </button>-->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
<!-- </my-ibox>-->
|
<!-- </my-ibox>-->
|
||||||
<my-ibox [hasTitle]="false">
|
<my-ibox [hasTitle]="false">
|
||||||
<div class="my-ibox-content buttons">
|
<div class="my-ibox-content buttons">
|
||||||
<button type="button" (click)="create()" title="save" class="btn btn-primary btn-sm" *ngIf="!isEditing">
|
<button type="button" (click)="create()" title="save" class="btn btn-primary btn-sm" *ngIf="!isEditing">
|
||||||
|
@ -28,7 +28,8 @@
|
|||||||
<td>{{ policy.version }}</td>
|
<td>{{ policy.version }}</td>
|
||||||
|
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<span class="editButton" [routerLink]="['edit', policy.shortcode]" title="edit draft" *ngIf="policy.version == 'draft'">
|
<span class="editButton" [routerLink]="['edit', policy.shortcode]" title="edit draft"
|
||||||
|
*ngIf="policy.version == 'draft'">
|
||||||
<i class="fa fa-pencil-alt"></i>
|
<i class="fa fa-pencil-alt"></i>
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
<td>{{ widget.displayName }}</td>
|
<td>{{ widget.displayName }}</td>
|
||||||
<td>{{ widget.description }}</td>
|
<td>{{ widget.description }}</td>
|
||||||
<td class="text-right">
|
<td class="text-right">
|
||||||
<span class="editButton" (click)="editWidget(widget)" *ngIf="widget.isEnabled && hasConfiguration(widget)">
|
<span class="editButton" (click)="editWidget(widget)"
|
||||||
|
*ngIf="widget.isEnabled && hasConfiguration(widget)">
|
||||||
<i class="fa fa-pencil-alt"></i>
|
<i class="fa fa-pencil-alt"></i>
|
||||||
</span>
|
</span>
|
||||||
<ui-switch [checked]="widget.isEnabled" size="small" [disabled]="isUpdating"
|
<ui-switch [checked]="widget.isEnabled" size="small" [disabled]="isUpdating"
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<label class="label-block">
|
<label class="label-block">
|
||||||
Gitter Room
|
Gitter Room
|
||||||
<input title="room name" type="text" class="form-control form-control-sm col-md-3"
|
<input title="room name" type="text" class="form-control form-control-sm col-md-3"
|
||||||
[(ngModel)]="gitterRoomName" [disabled]="isBusy" placeholder="my-org/room" />
|
[(ngModel)]="gitterRoomName" [disabled]="isBusy" placeholder="my-org/room"/>
|
||||||
</label>
|
</label>
|
||||||
<button type="button" class="btn btn-sm btn-primary" [disabled]="isBusy" (click)="bridgeRoom()">
|
<button type="button" class="btn btn-sm btn-primary" [disabled]="isBusy" (click)="bridgeRoom()">
|
||||||
Bridge
|
Bridge
|
||||||
|
@ -25,10 +25,12 @@
|
|||||||
</label>
|
</label>
|
||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
<div class="input-group-addon">#</div>
|
<div class="input-group-addon">#</div>
|
||||||
<input title="channel" type="text" class="form-control form-control-sm" [(ngModel)]="channel" [disabled]="loadingOps">
|
<input title="channel" type="text" class="form-control form-control-sm" [(ngModel)]="channel"
|
||||||
|
[disabled]="loadingOps">
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 25px">
|
<div style="margin-top: 25px">
|
||||||
<button type="button" class="btn btn-sm btn-primary" [disabled]="loadingOps" (click)="loadOps()">
|
<button type="button" class="btn btn-sm btn-primary" [disabled]="loadingOps"
|
||||||
|
(click)="loadOps()">
|
||||||
Next
|
Next
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -43,7 +45,8 @@
|
|||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
<div style="margin-top: 25px">
|
<div style="margin-top: 25px">
|
||||||
<button type="button" class="btn btn-sm btn-primary" [disabled]="requestingBridge" (click)="requestBridge()">
|
<button type="button" class="btn btn-sm btn-primary" [disabled]="requestingBridge"
|
||||||
|
(click)="requestBridge()">
|
||||||
Request Bridge
|
Request Bridge
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<div *ngIf="isBridged && bridge.config.link.isWebhook">
|
<div *ngIf="isBridged && bridge.config.link.isWebhook">
|
||||||
This room is bridged to Slack using webhooks. Webhook bridging is legacy and doesn't support as
|
This room is bridged to Slack using webhooks. Webhook bridging is legacy and doesn't support as
|
||||||
rich bridging as the new approach. It is recommended to re-create the bridge with the new process.
|
rich bridging as the new approach. It is recommended to re-create the bridge with the new process.
|
||||||
<br />
|
<br/>
|
||||||
<button type="button" class="btn btn-sm btn-danger" [disabled]="isBusy" (click)="unbridgeRoom()">
|
<button type="button" class="btn btn-sm btn-danger" [disabled]="isBusy" (click)="unbridgeRoom()">
|
||||||
Unbridge
|
Unbridge
|
||||||
</button>
|
</button>
|
||||||
@ -28,7 +28,7 @@
|
|||||||
and channels. Please click the button below to do so.
|
and channels. Please click the button below to do so.
|
||||||
</p>
|
</p>
|
||||||
<a [href]="authUrl" rel="noopener" target="_blank">
|
<a [href]="authUrl" rel="noopener" target="_blank">
|
||||||
<img src="/img/slack_auth_button.png" class="slack-auth-button" alt="sign in with slack" />
|
<img src="/img/slack_auth_button.png" class="slack-auth-button" alt="sign in with slack"/>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="!isBridged && !needsAuth">
|
<div *ngIf="!isBridged && !needsAuth">
|
||||||
|
@ -7,7 +7,8 @@
|
|||||||
the other room and instead bridge it here?
|
the other room and instead bridge it here?
|
||||||
</div>
|
</div>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
<button type="button" (click)="unbridgeAndContinue()" title="unbridge and continue" class="btn btn-danger btn-sm">
|
<button type="button" (click)="unbridgeAndContinue()" title="unbridge and continue"
|
||||||
|
class="btn btn-danger btn-sm">
|
||||||
Unbridge and continue
|
Unbridge and continue
|
||||||
</button>
|
</button>
|
||||||
<button type="button" (click)="cancel()" title="cancel" class="btn btn-primary btn-sm">
|
<button type="button" (click)="cancel()" title="cancel" class="btn btn-primary btn-sm">
|
||||||
|
@ -8,7 +8,8 @@
|
|||||||
<div *ngIf="isBridged">
|
<div *ngIf="isBridged">
|
||||||
This room is bridged to "{{ chatName }}" (<code>{{ chatId }}</code>) on Telegram.
|
This room is bridged to "{{ chatName }}" (<code>{{ chatId }}</code>) on Telegram.
|
||||||
<div *ngIf="canUnbridge">
|
<div *ngIf="canUnbridge">
|
||||||
<button type="button" class="btn btn-sm btn-danger" [disabled]="isUpdating" (click)="unbridgeRoom()">
|
<button type="button" class="btn btn-sm btn-danger" [disabled]="isUpdating"
|
||||||
|
(click)="unbridgeRoom()">
|
||||||
Unbridge
|
Unbridge
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -20,7 +21,8 @@
|
|||||||
<label class="label-block">
|
<label class="label-block">
|
||||||
Chat ID
|
Chat ID
|
||||||
<span class="text-muted">After inviting <a href="https://t.me/{{ botUsername }}" target="_blank">@{{ botUsername }}</a> to your Telegram chat, run the command <code>/id</code> in the Telegram room to get the chat ID.</span>
|
<span class="text-muted">After inviting <a href="https://t.me/{{ botUsername }}" target="_blank">@{{ botUsername }}</a> to your Telegram chat, run the command <code>/id</code> in the Telegram room to get the chat ID.</span>
|
||||||
<input title="chat ID" type="text" class="form-control form-control-sm col-md-3" [(ngModel)]="chatId" [disabled]="isUpdating" />
|
<input title="chat ID" type="text" class="form-control form-control-sm col-md-3"
|
||||||
|
[(ngModel)]="chatId" [disabled]="isUpdating"/>
|
||||||
</label>
|
</label>
|
||||||
<button type="button" class="btn btn-sm btn-primary" [disabled]="isUpdating" (click)="bridgeRoom()">
|
<button type="button" class="btn btn-sm btn-primary" [disabled]="isUpdating" (click)="bridgeRoom()">
|
||||||
Bridge
|
Bridge
|
||||||
|
@ -7,7 +7,8 @@
|
|||||||
<div class="my-ibox-content">
|
<div class="my-ibox-content">
|
||||||
<label class="label-block">
|
<label class="label-block">
|
||||||
Webhook Name
|
Webhook Name
|
||||||
<input title="webhook name" type="text" class="form-control form-control-sm" [(ngModel)]="webhookName" [disabled]="isBusy">
|
<input title="webhook name" type="text" class="form-control form-control-sm"
|
||||||
|
[(ngModel)]="webhookName" [disabled]="isBusy">
|
||||||
</label>
|
</label>
|
||||||
<div style="margin-top: 25px">
|
<div style="margin-top: 25px">
|
||||||
<button type="button" class="btn btn-sm btn-primary" [disabled]="isBusy" (click)="newHook()">
|
<button type="button" class="btn btn-sm btn-primary" [disabled]="isBusy" (click)="newHook()">
|
||||||
|
@ -19,11 +19,11 @@
|
|||||||
<td>{{ feed.url }}</td>
|
<td>{{ feed.url }}</td>
|
||||||
<td>{{ feed.addedByUserId }}</td>
|
<td>{{ feed.addedByUserId }}</td>
|
||||||
<td class="actions-col">
|
<td class="actions-col">
|
||||||
<button type="button" class="btn btn-sm btn-outline-danger"
|
<button type="button" class="btn btn-sm btn-outline-danger"
|
||||||
[disabled]="isUpdating || !feed.isSelf"
|
[disabled]="isUpdating || !feed.isSelf"
|
||||||
(click)="removeFeed(feed)">
|
(click)="removeFeed(feed)">
|
||||||
<i class="far fa-trash-alt"></i> Remove
|
<i class="far fa-trash-alt"></i> Remove
|
||||||
</button>
|
</button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
[(ngModel)]="newFeedUrl"
|
[(ngModel)]="newFeedUrl"
|
||||||
placeholder="https://example.org/feed.atom"
|
placeholder="https://example.org/feed.atom"
|
||||||
name="newFeedUrl"
|
name="newFeedUrl"
|
||||||
title="New feed URL" />
|
title="New feed URL"/>
|
||||||
<span class="input-group-btn">
|
<span class="input-group-btn">
|
||||||
<button type="button" class="btn btn-outline-success"
|
<button type="button" class="btn btn-outline-success"
|
||||||
[disabled]="isUpdating"
|
[disabled]="isUpdating"
|
||||||
|
@ -5,7 +5,9 @@
|
|||||||
.travis.yml configuration and template information
|
.travis.yml configuration and template information
|
||||||
</h5>
|
</h5>
|
||||||
<div class="my-ibox-content">
|
<div class="my-ibox-content">
|
||||||
<p>The following section needs to be added to your <code>.travis.yml</code> file in your repositories:</p>
|
<p>
|
||||||
|
The following section needs to be added to your <code>.travis.yml</code> file in your repositories:
|
||||||
|
</p>
|
||||||
<pre>{{ travisYaml }}</pre>
|
<pre>{{ travisYaml }}</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@ -50,15 +52,17 @@
|
|||||||
<tr *ngFor="let repo of getRepos()">
|
<tr *ngFor="let repo of getRepos()">
|
||||||
<td>{{ repo.repoKey }}</td>
|
<td>{{ repo.repoKey }}</td>
|
||||||
<td>
|
<td>
|
||||||
<textarea title="Repository Template" class="repo-template form-control" rows="3" (change)="repo.template = $event.target.value" [disabled]="isUpdating || !repo.isSelf">{{ repo.template }}</textarea>
|
<textarea title="Repository Template" class="repo-template form-control" rows="3"
|
||||||
|
(change)="repo.template = $event.target.value"
|
||||||
|
[disabled]="isUpdating || !repo.isSelf">{{ repo.template }}</textarea>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ repo.addedByUserId }}</td>
|
<td>{{ repo.addedByUserId }}</td>
|
||||||
<td class="actions-col">
|
<td class="actions-col">
|
||||||
<button type="button" class="btn btn-sm btn-outline-danger"
|
<button type="button" class="btn btn-sm btn-outline-danger"
|
||||||
[disabled]="isUpdating || !repo.isSelf"
|
[disabled]="isUpdating || !repo.isSelf"
|
||||||
(click)="removeRepo(repo)">
|
(click)="removeRepo(repo)">
|
||||||
<i class="far fa-trash-alt"></i> Remove
|
<i class="far fa-trash-alt"></i> Remove
|
||||||
</button>
|
</button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -68,7 +72,7 @@
|
|||||||
[(ngModel)]="newRepoKey"
|
[(ngModel)]="newRepoKey"
|
||||||
placeholder="matrix-org/synapse"
|
placeholder="matrix-org/synapse"
|
||||||
name="newRepoKey"
|
name="newRepoKey"
|
||||||
title="New repository name" />
|
title="New repository name"/>
|
||||||
<span class="input-group-btn">
|
<span class="input-group-btn">
|
||||||
<button type="button" class="btn btn-outline-success"
|
<button type="button" class="btn btn-outline-success"
|
||||||
[disabled]="isUpdating"
|
[disabled]="isUpdating"
|
||||||
|
@ -57,9 +57,9 @@ export class TravisCiComplexBotConfigComponent extends ComplexBotComponent<Travi
|
|||||||
this.newConfig.repos[this.newRepoKey] = {
|
this.newConfig.repos[this.newRepoKey] = {
|
||||||
addedByUserId: SessionStorage.userId,
|
addedByUserId: SessionStorage.userId,
|
||||||
template: "" +
|
template: "" +
|
||||||
"%{repository_slug}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}\n" +
|
"%{repository_slug}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}\n" +
|
||||||
" Change view : %{compare_url}\n" +
|
" Change view : %{compare_url}\n" +
|
||||||
" Build details : %{build_url}\n"
|
" Build details : %{build_url}\n"
|
||||||
};
|
};
|
||||||
this.newRepoKey = "";
|
this.newRepoKey = "";
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,8 @@
|
|||||||
<span class="name">{{ pack.displayName }}</span>
|
<span class="name">{{ pack.displayName }}</span>
|
||||||
<span class="description">{{ pack.description }}</span>
|
<span class="description">{{ pack.description }}</span>
|
||||||
|
|
||||||
<span class="author" *ngIf="pack.author.type !== 'none'">Created by <a [href]="pack.author.reference">{{ pack.author.name }}</a> under </span>
|
<span class="author" *ngIf="pack.author.type !== 'none'">Created by <a
|
||||||
|
[href]="pack.author.reference">{{ pack.author.name }}</a> under </span>
|
||||||
<span class="license"><a [href]="pack.license.urlPath">{{ pack.license.name }}</a></span>
|
<span class="license"><a [href]="pack.license.urlPath">{{ pack.license.name }}</a></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -8,7 +8,8 @@
|
|||||||
</h5>
|
</h5>
|
||||||
<div class="my-ibox-content">
|
<div class="my-ibox-content">
|
||||||
<form (submit)="widgetComponent.addWidget()" novalidate name="addForm">
|
<form (submit)="widgetComponent.addWidget()" novalidate name="addForm">
|
||||||
<ng-container *ngTemplateOutlet="widgetParamsTemplate;context:{widget:widgetComponent.newWidget}"></ng-container>
|
<ng-container
|
||||||
|
*ngTemplateOutlet="widgetParamsTemplate;context:{widget:widgetComponent.newWidget}"></ng-container>
|
||||||
|
|
||||||
<div style="margin-top: 25px">
|
<div style="margin-top: 25px">
|
||||||
<button type="submit" class="btn btn-sm btn-success" [disabled]="widgetComponent.isUpdating">
|
<button type="submit" class="btn btn-sm btn-success" [disabled]="widgetComponent.isUpdating">
|
||||||
@ -19,7 +20,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</my-ibox>
|
</my-ibox>
|
||||||
|
|
||||||
<my-ibox *ngFor="let widget of widgetComponent.widgets trackById" [isCollapsible]="true" [defaultCollapsed]="widget.id !== widgetComponent.defaultExpandedWidgetId">
|
<my-ibox *ngFor="let widget of widgetComponent.widgets trackById" [isCollapsible]="true"
|
||||||
|
[defaultCollapsed]="widget.id !== widgetComponent.defaultExpandedWidgetId">
|
||||||
<h5 class="my-ibox-title">
|
<h5 class="my-ibox-title">
|
||||||
<i class="fa fa-pencil-alt"></i> {{ widget.name || widget.url || widgetComponent.defaultName }}
|
<i class="fa fa-pencil-alt"></i> {{ widget.name || widget.url || widgetComponent.defaultName }}
|
||||||
<span *ngIf="widget.data.title">- {{ widget.data.title }}</span>
|
<span *ngIf="widget.data.title">- {{ widget.data.title }}</span>
|
||||||
@ -32,7 +34,8 @@
|
|||||||
<button type="submit" class="btn btn-sm btn-primary" [disabled]="widgetComponent.isUpdating">
|
<button type="submit" class="btn btn-sm btn-primary" [disabled]="widgetComponent.isUpdating">
|
||||||
<i class="far fa-save"></i> Save Widget
|
<i class="far fa-save"></i> Save Widget
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-sm btn-outline-danger" [disabled]="widgetComponent.isUpdating" (click)="widgetComponent.removeWidget(widget)">
|
<button type="button" class="btn btn-sm btn-outline-danger" [disabled]="widgetComponent.isUpdating"
|
||||||
|
(click)="widgetComponent.removeWidget(widget)">
|
||||||
<i class="far fa-trash-alt"></i> Remove Widget
|
<i class="far fa-trash-alt"></i> Remove Widget
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -11,7 +11,7 @@ export class GoogleCalendarWidgetConfigComponent extends WidgetComponent {
|
|||||||
super(WIDGET_GOOGLE_CALENDAR, "Google Calendar", DISABLE_AUTOMATIC_WRAPPING, "googleCalendar");
|
super(WIDGET_GOOGLE_CALENDAR, "Google Calendar", DISABLE_AUTOMATIC_WRAPPING, "googleCalendar");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected OnNewWidgetPrepared(widget: EditableWidget) {
|
protected OnNewWidgetPrepared(widget: EditableWidget) {
|
||||||
widget.dimension.newData.shareId = "";
|
widget.dimension.newData.shareId = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
<ng-template #widgetParamsTemplate let-widget="widget">
|
<ng-template #widgetParamsTemplate let-widget="widget">
|
||||||
<label class="label-block">
|
<label class="label-block">
|
||||||
Trading Pair
|
Trading Pair
|
||||||
<select class="form-control form-control-sm" [(ngModel)]="widget.dimension.newData.pair" [disabled]="isUpdating" name="widget-pair-{{widget.id}}">
|
<select class="form-control form-control-sm" [(ngModel)]="widget.dimension.newData.pair"
|
||||||
|
[disabled]="isUpdating" name="widget-pair-{{widget.id}}">
|
||||||
<option *ngFor="let pair of pairs" [ngValue]="pair.value">
|
<option *ngFor="let pair of pairs" [ngValue]="pair.value">
|
||||||
{{ pair.label }}
|
{{ pair.label }}
|
||||||
</option>
|
</option>
|
||||||
@ -11,7 +12,8 @@
|
|||||||
|
|
||||||
<label class="label-block">
|
<label class="label-block">
|
||||||
Interval
|
Interval
|
||||||
<select class="form-control form-control-sm" [(ngModel)]="widget.dimension.newData.interval" [disabled]="isUpdating" name="widget-interval-{{widget.id}}">
|
<select class="form-control form-control-sm" [(ngModel)]="widget.dimension.newData.interval"
|
||||||
|
[disabled]="isUpdating" name="widget-interval-{{widget.id}}">
|
||||||
<option *ngFor="let interval of intervals" [ngValue]="interval.value">
|
<option *ngFor="let interval of intervals" [ngValue]="interval.value">
|
||||||
{{ interval.label }}
|
{{ interval.label }}
|
||||||
</option>
|
</option>
|
||||||
|
@ -37,7 +37,8 @@
|
|||||||
<div *ngFor="let category of getCategories()">
|
<div *ngFor="let category of getCategories()">
|
||||||
<my-ibox *ngIf="getIntegrationsIn(category).length > 0" boxTitle="{{category}}" [isCollapsible]="true">
|
<my-ibox *ngIf="getIntegrationsIn(category).length > 0" boxTitle="{{category}}" [isCollapsible]="true">
|
||||||
<div class="my-ibox-content">
|
<div class="my-ibox-content">
|
||||||
<my-integration-bag [integrations]="getIntegrationsIn(category)" (integrationClicked)="modifyIntegration($event)"></my-integration-bag>
|
<my-integration-bag [integrations]="getIntegrationsIn(category)"
|
||||||
|
(integrationClicked)="modifyIntegration($event)"></my-integration-bag>
|
||||||
</div>
|
</div>
|
||||||
</my-ibox>
|
</my-ibox>
|
||||||
</div>
|
</div>
|
||||||
|
@ -5,7 +5,9 @@ import {
|
|||||||
WIDGET_GOOGLE_CALENDAR,
|
WIDGET_GOOGLE_CALENDAR,
|
||||||
WIDGET_GOOGLE_DOCS,
|
WIDGET_GOOGLE_DOCS,
|
||||||
WIDGET_GRAFANA,
|
WIDGET_GRAFANA,
|
||||||
WIDGET_JITSI, WIDGET_SPOTIFY, WIDGET_STICKER_PICKER,
|
WIDGET_JITSI,
|
||||||
|
WIDGET_SPOTIFY,
|
||||||
|
WIDGET_STICKER_PICKER,
|
||||||
WIDGET_TRADINGVIEW,
|
WIDGET_TRADINGVIEW,
|
||||||
WIDGET_TWITCH,
|
WIDGET_TWITCH,
|
||||||
WIDGET_YOUTUBE
|
WIDGET_YOUTUBE
|
||||||
|
@ -5,7 +5,8 @@ import {
|
|||||||
JoinRuleStateResponse,
|
JoinRuleStateResponse,
|
||||||
MembershipStateResponse,
|
MembershipStateResponse,
|
||||||
RoomEncryptionStatusResponse,
|
RoomEncryptionStatusResponse,
|
||||||
ScalarSuccessResponse, ScalarWidget,
|
ScalarSuccessResponse,
|
||||||
|
ScalarWidget,
|
||||||
SetPowerLevelResponse,
|
SetPowerLevelResponse,
|
||||||
WidgetsResponse
|
WidgetsResponse
|
||||||
} from "../../models/server-client-responses";
|
} from "../../models/server-client-responses";
|
||||||
@ -73,7 +74,7 @@ export class ScalarClientApiService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public deleteWidget(roomId: string, widget: EditableWidget|ScalarWidget): Promise<ScalarSuccessResponse> {
|
public deleteWidget(roomId: string, widget: EditableWidget | ScalarWidget): Promise<ScalarSuccessResponse> {
|
||||||
const anyWidget: any = widget;
|
const anyWidget: any = widget;
|
||||||
return this.callAction("set_widget", {
|
return this.callAction("set_widget", {
|
||||||
room_id: roomId,
|
room_id: roomId,
|
||||||
@ -83,7 +84,7 @@ export class ScalarClientApiService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public deleteUserWidget(widget: EditableWidget|ScalarWidget): Promise<ScalarSuccessResponse> {
|
public deleteUserWidget(widget: EditableWidget | ScalarWidget): Promise<ScalarSuccessResponse> {
|
||||||
const anyWidget: any = widget;
|
const anyWidget: any = widget;
|
||||||
return this.callAction("set_widget", {
|
return this.callAction("set_widget", {
|
||||||
userWidget: true,
|
userWidget: true,
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="no-stickers" *ngIf="!isLoading && !authError && (!packs || packs.length === 0)">
|
<div class="no-stickers" *ngIf="!isLoading && !authError && (!packs || packs.length === 0)">
|
||||||
<img src="/img/no_stickers.png" />
|
<img src="/img/no_stickers.png"/>
|
||||||
<span class="message">You have no sticker packs.</span>
|
<span class="message">You have no sticker packs.</span>
|
||||||
<button class="btn btn-link btn-sm" (click)="openIntegrationManager()">Add some stickers</button>
|
<button class="btn btn-link btn-sm" (click)="openIntegrationManager()">Add some stickers</button>
|
||||||
</div>
|
</div>
|
||||||
@ -17,16 +17,18 @@
|
|||||||
<div class="sticker-pack" *ngFor="let pack of packs trackById">
|
<div class="sticker-pack" *ngFor="let pack of packs trackById">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<span class="title">{{ pack.displayName }}</span>
|
<span class="title">{{ pack.displayName }}</span>
|
||||||
<span class="license"><a [href]="pack.license.urlPath" target="_blank">{{ pack.license.name }}</a></span>
|
<span class="license"><a [href]="pack.license.urlPath"
|
||||||
|
target="_blank">{{ pack.license.name }}</a></span>
|
||||||
<span class="author" *ngIf="pack.author.type !== 'none'">
|
<span class="author" *ngIf="pack.author.type !== 'none'">
|
||||||
<a [href]="pack.author.reference" target="_blank">{{ pack.author.name }}</a>
|
<a [href]="pack.author.reference" target="_blank">{{ pack.author.name }}</a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="stickers">
|
<div class="stickers">
|
||||||
<div class="sticker" *ngFor="let sticker of pack.stickers trackById" (click)="sendSticker(sticker, pack)">
|
<div class="sticker" *ngFor="let sticker of pack.stickers trackById"
|
||||||
|
(click)="sendSticker(sticker, pack)">
|
||||||
<img [src]="getThumbnailUrl(sticker.thumbnail.mxc, 48, 48)" width="48" height="48" class="image"
|
<img [src]="getThumbnailUrl(sticker.thumbnail.mxc, 48, 48)" width="48" height="48" class="image"
|
||||||
[alt]="sticker.name" [ngbTooltip]="sticker.name" placement="bottom" />
|
[alt]="sticker.name" [ngbTooltip]="sticker.name" placement="bottom"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import "reflect-metadata";
|
import "reflect-metadata";
|
||||||
import "ts-helpers";
|
import "ts-helpers";
|
||||||
|
|
||||||
require("zone.js/dist/zone");
|
require("zone.js/dist/zone");
|
||||||
|
|
||||||
//noinspection TypeScriptUnresolvedVariable
|
//noinspection TypeScriptUnresolvedVariable
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
<?xml version="1.0" standalone="no"?>
|
<?xml version="1.0" standalone="no"?>
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
width="513.000000pt" height="513.000000pt" viewBox="0 0 513.000000 513.000000"
|
width="513.000000pt" height="513.000000pt" viewBox="0 0 513.000000 513.000000"
|
||||||
preserveAspectRatio="xMidYMid meet">
|
preserveAspectRatio="xMidYMid meet">
|
||||||
<metadata>
|
<metadata>
|
||||||
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
||||||
</metadata>
|
</metadata>
|
||||||
<g transform="translate(0.000000,513.000000) scale(0.100000,-0.100000)"
|
<g transform="translate(0.000000,513.000000) scale(0.100000,-0.100000)"
|
||||||
fill="#000000" stroke="none">
|
fill="#000000" stroke="none">
|
||||||
<path d="M0 2565 l0 -2565 2565 0 2565 0 0 2565 0 2565 -2565 0 -2565 0 0
|
<path d="M0 2565 l0 -2565 2565 0 2565 0 0 2565 0 2565 -2565 0 -2565 0 0
|
||||||
-2565z"/>
|
-2565z"/>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 603 B After Width: | Height: | Size: 657 B |
@ -1,7 +1,6 @@
|
|||||||
// The CSS for the Riot breadcrumb is specified here to ensure that it's style can be overridden.
|
// The CSS for the Riot breadcrumb is specified here to ensure that it's style can be overridden.
|
||||||
// In it's current position (as a component), the component-level stylesheet cannot access the
|
// In it's current position (as a component), the component-level stylesheet cannot access the
|
||||||
// elements, so we specify it in a more generic location.
|
// elements, so we specify it in a more generic location.
|
||||||
|
|
||||||
@import "themes/themes";
|
@import "themes/themes";
|
||||||
|
|
||||||
.main-app {
|
.main-app {
|
||||||
|
@ -14,7 +14,7 @@ body {
|
|||||||
font-family: 'Roboto', 'Open Sans', Arial, sans-serif;
|
font-family: 'Roboto', 'Open Sans', Arial, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include themifyRoot(){
|
@include themifyRoot() {
|
||||||
color: themed(defaultFgColor);
|
color: themed(defaultFgColor);
|
||||||
|
|
||||||
// HACK: We specify the spinner color here because we can't use the mixin
|
// HACK: We specify the spinner color here because we can't use the mixin
|
||||||
|
@ -64,7 +64,7 @@ $theme_dark: (
|
|||||||
integrationDescriptionColor: #bcc0c1,
|
integrationDescriptionColor: #bcc0c1,
|
||||||
|
|
||||||
promoSpacerColor: rgba(206, 222, 235, 0.85),
|
promoSpacerColor: rgba(206, 222, 235, 0.85),
|
||||||
promoShadowColor: rgba(206, 222, 235, 0.34),
|
promoShadowColor: rgba(206, 222, 235, 0.34),
|
||||||
promoInfoBgColor: #fff,
|
promoInfoBgColor: #fff,
|
||||||
promoInfoBorderColor: rgba(143, 45, 86, 0.2),
|
promoInfoBorderColor: rgba(143, 45, 86, 0.2),
|
||||||
promoPreBorderColor: rgba(143, 45, 86, 0.7),
|
promoPreBorderColor: rgba(143, 45, 86, 0.7),
|
||||||
|
@ -64,7 +64,7 @@ $theme_light: (
|
|||||||
integrationDescriptionColor: #999,
|
integrationDescriptionColor: #999,
|
||||||
|
|
||||||
promoSpacerColor: rgba(206, 222, 235, 0.85),
|
promoSpacerColor: rgba(206, 222, 235, 0.85),
|
||||||
promoShadowColor: rgba(206, 222, 235, 0.34),
|
promoShadowColor: rgba(206, 222, 235, 0.34),
|
||||||
promoInfoBgColor: #fff,
|
promoInfoBgColor: #fff,
|
||||||
promoInfoBorderColor: rgba(143, 45, 86, 0.2),
|
promoInfoBorderColor: rgba(143, 45, 86, 0.2),
|
||||||
promoPreBorderColor: rgba(143, 45, 86, 0.7),
|
promoPreBorderColor: rgba(143, 45, 86, 0.7),
|
||||||
|
Loading…
Reference in New Issue
Block a user