Skip to content

Commit

Permalink
accessibility changes
Browse files Browse the repository at this point in the history
  • Loading branch information
JafarMirzaie committed Mar 17, 2023
1 parent cade4a1 commit 3cce578
Show file tree
Hide file tree
Showing 69 changed files with 231 additions and 107 deletions.
6 changes: 6 additions & 0 deletions Signum.Entities.Extensions/Authorization/AuthMessages.cs
Original file line number Diff line number Diff line change
Expand Up @@ -215,4 +215,10 @@ public enum AuthAdminMessage

[Description("Role {0} is trivial merge")]
Role0IsTrivialMerge,

Check,
Uncheck,

AddCondition,
RemoveCondition
}
12 changes: 12 additions & 0 deletions Signum.Entities.Extensions/Basics/CollapsableCard.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Signum.Entities.Basics;
public enum CollapsableCardMessage
{
Collapse,
Expand
}
2 changes: 2 additions & 0 deletions Signum.Entities.Extensions/Chart/ColorPalette.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,6 @@ public enum ColorPaletteMessage
FillAutomatically,
[Description("Select {0} only if you want to override the automatic color")]
Select0OnlyIfYouWantToOverrideTheAutomaticColor,
ShowPalette,
ShowList
}
4 changes: 3 additions & 1 deletion Signum.Entities.Extensions/Dashboard/DashboardEntity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,9 @@ public enum DashboardMessage
LasUpdateWasOn0,

[Description("The User Query '{0}' has no column with summary header")]
TheUserQuery0HasNoColumnWithSummaryHeader
TheUserQuery0HasNoColumnWithSummaryHeader,

Edit
}

public enum DashboardEmbedededInEntity
Expand Down
7 changes: 6 additions & 1 deletion Signum.Entities.Extensions/Dynamic/Dynamic.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Signum.Entities.Authorization;
using Signum.Entities.Authorization;

namespace Signum.Entities.Dynamic;

Expand All @@ -8,3 +8,8 @@ public static class DynamicPanelPermission
public static PermissionSymbol ViewDynamicPanel;
public static PermissionSymbol RestartApplication;
}

public enum DynamicPanelMessage
{
OpenErrors
}
2 changes: 2 additions & 0 deletions Signum.Entities.Extensions/Files/FileUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,6 @@ public enum FileMessage
File0IsTooBigTheMaximumSizeIs1,
[Description("The name of the file must not contain '%'")]
TheNameOfTheFileMustNotContainPercentSymbol,

FileImage,
}
2 changes: 2 additions & 0 deletions Signum.Entities.Extensions/Help/HelpMessage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ public enum HelpMessage
In0,
Entities,
SearchText,
Previous,
Next
}

public enum HelpKindMessage
Expand Down
3 changes: 2 additions & 1 deletion Signum.Entities.Extensions/Processes/Process.cs
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,8 @@ public enum ProcessMessage
LastProcess,
ExceptionLines,
[Description("Suspend in the safer way of stoping a running process. Cancel anyway?")]
SuspendIsTheSaferWayOfStoppingARunningProcessCancelAnyway
SuspendIsTheSaferWayOfStoppingARunningProcessCancelAnyway,
ProcessSettings
}

[EntityKind(EntityKind.System, EntityData.Transactional)]
Expand Down
5 changes: 5 additions & 0 deletions Signum.Entities.Extensions/Rest/RestApiKeyEntity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,8 @@ public static class RestApiKeyOperation
public static ExecuteSymbol<RestApiKeyEntity> Save;
public static DeleteSymbol<RestApiKeyEntity> Delete;
}

public enum RestApiKeyMessage
{
GenerateApiKey,
}
4 changes: 3 additions & 1 deletion Signum.Entities.Extensions/Toolbar/Toolbar.cs
Original file line number Diff line number Diff line change
Expand Up @@ -235,5 +235,7 @@ public enum ToolbarMessage
{
RecursionDetected,
[Description(@"{0} cycles have been found in the Toolbar due to the relationships:")]
_0CyclesHaveBeenFoundInTheToolbarDueToTheRelationships
_0CyclesHaveBeenFoundInTheToolbarDueToTheRelationships,

CloseSidebar
}
3 changes: 3 additions & 0 deletions Signum.Entities.Extensions/Translation/TranslatorMessage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,9 @@ public enum TranslationMessage

[Description("{0} outdated translatiosn for {1} have been deleted")]
_0OutdatedTranslationsFor1HaveBeenDeleted,

DownloadView,
DownloadSync,
}

public enum TranslationJavascriptMessage
Expand Down
2 changes: 2 additions & 0 deletions Signum.Entities.Extensions/Workflow/Case.cs
Original file line number Diff line number Diff line change
Expand Up @@ -107,4 +107,6 @@ public enum CaseMessage

[Description("Do you want to also delete the main entities?")]
DoYouWAntToAlsoDeleteTheMainEntities,

SetTags
}
8 changes: 6 additions & 2 deletions Signum.Entities.Extensions/Workflow/Workflow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,10 @@ public enum WorkflowMessage
YouAreNotMemberOfAnyLaneContainingAnStartEventInWorkflow0,

[Description("Evaluation order of the contition (if... else)")]
EvaluationOrderOfTheConnectionForIfElse
EvaluationOrderOfTheConnectionForIfElse,

[Description("Save as SVG")]
SaveAsSVG,
}

public class WorkflowXmlEmbedded : EmbeddedEntity
Expand Down Expand Up @@ -295,7 +298,8 @@ public enum WorkflowActivityMonitorMessage
ResetZoom,
Find,
Filters,
Columns
Columns,
OpenWorkflow
}

[AutoInit]
Expand Down
16 changes: 16 additions & 0 deletions Signum.Entities/EnumMessages.cs
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,12 @@ public enum EntityControlMessage
Added,
RemovedAndSelectedAgain,
Selected,
Edit,
Reload,
Download,
Expand,
Collapse,
ToggleSideBar
}

[DescriptionOptions(DescriptionOptions.Members), InTypeScript(true)]
Expand Down Expand Up @@ -268,6 +274,10 @@ public enum SearchMessage
[Description("More than one {0} selected")]
MoreThanOne0Selected,
CombineRowsWith,

PinnFilter,
UnpinnFilter,
SwitchViewMode,
}

public enum SelectorMessage
Expand Down Expand Up @@ -495,3 +505,9 @@ public enum VoidEnumMessage
[Description("-")]
Instance
}

public enum ContainerToggleMessage
{
Minimize,
Exxpand,
}
2 changes: 1 addition & 1 deletion Signum.React.Extensions/Alerts/AlertDropdown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ function AlertDropdownImp(props: { keepRingingFor: number }) {
<>
<div className="nav-link sf-bell-container" onClick={handleOnToggle} title={window.__disableSignalR ?? undefined}>
<FontAwesomeIcon icon={window.__disableSignalR ? "bell-slash" : "bell"}
title={(countResult ? AlertEntity.niceCount(countResult.numAlerts) : AlertEntity.nicePluralName()) + (ringing ? " " + AlertMessage.ringing.niceToString() : "")}
title={(countResult ? AlertEntity.niceCount(countResult.numAlerts) : AlertEntity.nicePluralName()) + (ringing ? " " + AlertMessage.Ringing.niceToString() : "")}
className={classes("sf-bell", ringing && "ringing", isOpen && "open", countResult && countResult.numAlerts > 0 && "active")} />
{countResult && countResult.numAlerts > 0 && <span className="badge bg-danger badge-pill sf-alerts-badge">{countResult.numAlerts}</span>}
</div>
Expand Down
6 changes: 4 additions & 2 deletions Signum.React.Extensions/Authorization/Admin/ColoredRadios.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { IconProp } from '@fortawesome/fontawesome-svg-core'
import "./AuthAdmin.css"
import { classes } from '../../../Signum.React/Scripts/Globals';
import { AuthAdminMessage } from 'Authorization/Signum.Entities.Authorization';

interface ColorRadioProps {
checked: boolean;
Expand All @@ -25,9 +26,10 @@ export function ColorRadio(p : ColorRadioProps){

export function GrayCheckbox(p : { checked: boolean, onUnchecked: () => void, readOnly: boolean }){
return (
<span className={classes("sf-auth-checkbox", p.readOnly && "sf-not-allowed")}
<span className={classes("sf-auth-checkbox", p.readOnly && "sf-not-allowed")}
onClick={p.checked && !p.readOnly ? p.onUnchecked : undefined}>
<FontAwesomeIcon icon={["far", p.checked ? "square-check" : "square"]} />
<FontAwesomeIcon icon={["far", p.checked ? "square-check" : "square"]}
title={p.checked ? AuthAdminMessage.Uncheck.niceToString() : AuthAdminMessage.Check.niceToString()} />
</span>
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ export default React.forwardRef(function TypesRulesPackControl({ ctx }: { ctx: T
<tr key={tctx.value.resource.namespace + "." + tctx.value.resource.className} className={classes("sf-auth-type", tctx.value.allowed.conditionRules.length > 0 && "sf-auth-with-conditions")}>
<td className={tctx.value.allowed.fallback == null ? "text-danger fw-bold" : undefined} title={AuthAdminMessage.ConflictMergingTypeConditions.niceToString()}>
{conditions.length > 1 || conditions.length == 1 && tctx.value.allowed.conditionRules.length == 0 ?
<span className="sf-condition-icon" onClick={() => handleAddConditionClick(conditions, tctx.value.allowed, tctx.value.resource)}>
<span className="sf-condition-icon" title={AuthAdminMessage.AddCondition.niceToString()} onClick={() => handleAddConditionClick(conditions, tctx.value.allowed, tctx.value.resource)}>
<FontAwesomeIcon icon="circle-plus" />
</span> :
<FontAwesomeIcon icon="circle" className="sf-placeholder-icon"></FontAwesomeIcon>}
Expand Down Expand Up @@ -287,7 +287,7 @@ export default React.forwardRef(function TypesRulesPackControl({ ctx }: { ctx: T
<tr key={tctx.value.resource.namespace + "." + tctx.value.resource.className + "_" + cr.typeConditions.map(c => c.element.id).join("_")} className="sf-auth-condition" >
<td>
{"\u00A0 \u00A0".repeat(i + 1)}
<span className="sf-condition-icon" onClick={() => handleRemoveConditionClick(tctx.value.allowed, cr)}><FontAwesomeIcon icon="circle-minus" /></span>
<span className="sf-condition-icon" onClick={() => handleRemoveConditionClick(tctx.value.allowed, cr)}><FontAwesomeIcon icon="circle-minus" title={AuthAdminMessage.RemoveCondition.niceToString()} /></span>
&nbsp;
{cr.typeConditions.flatMap((tc, j) => [
<small className="mx-1" key={j}>{getToString(tc.element)}</small>,
Expand Down
2 changes: 1 addition & 1 deletion Signum.React.Extensions/Authorization/AzureAD/AzureAD.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ export function MicrosoftSignIn({ ctx }: { ctx: LoginContext }) {
<div className="row mt-2">
<div className="col-md-6 offset-md-3">
<a href="#" className={ctx.loading != null ? "disabled" : undefined} onClick={e => { e.preventDefault(); signIn(ctx); }}>
<img src={MicrosoftSignIn.iconUrl} title={LoginAuthMessage.SignInWithMicrosoft.niceoString()} />
<img src={MicrosoftSignIn.iconUrl} alt={LoginAuthMessage.SignInWithMicrosoft.niceToString()} title={LoginAuthMessage.SignInWithMicrosoft.niceToString()} />
</a>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,10 @@ export module AuthAdminMessage {
export const Role0InheritsFromTrivialMergeRole1 = new MessageKey("AuthAdminMessage", "Role0InheritsFromTrivialMergeRole1");
export const IncludeTrivialMerges = new MessageKey("AuthAdminMessage", "IncludeTrivialMerges");
export const Role0IsTrivialMerge = new MessageKey("AuthAdminMessage", "Role0IsTrivialMerge");
export const Check = new MessageKey("AuthAdminMessage", "Check");
export const Uncheck = new MessageKey("AuthAdminMessage", "Uncheck");
export const AddCondition = new MessageKey("AuthAdminMessage", "AddCondition");
export const RemoveCondition = new MessageKey("AuthAdminMessage", "RemoveCondition");
}

export module AuthEmailMessage {
Expand Down
5 changes: 5 additions & 0 deletions Signum.React.Extensions/Basics/Signum.Entities.Basics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ export type BootstrapStyle =
"Warning" |
"Danger";

export module CollapsableCardMessage {
export const Collapse = new MessageKey("CollapsableCardMessage", "Collapse");
export const Expand = new MessageKey("CollapsableCardMessage", "Expand");
}

export const CultureInfoEntity = new Type<CultureInfoEntity>("CultureInfo");
export interface CultureInfoEntity extends Entities.Entity {
Type: "CultureInfo";
Expand Down
6 changes: 4 additions & 2 deletions Signum.React.Extensions/Basics/Templates/CollapsableCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { classes } from '@framework/Globals'
import { BsColor } from '@framework/Components/Basic';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { IconProp } from '@fortawesome/fontawesome-svg-core';
import { CollapsableCardMessage } from 'Basics/Signum.Entities.Basics';

export interface CollapsableCardProps {
color?: BsColor;
Expand Down Expand Up @@ -66,9 +67,10 @@ export default function CollapsableCard(p: CollapsableCardProps) {
{(p.collapsable == undefined || p.collapsable == true) &&
<span
className={"float-end"}
style={{ cursor: "pointer" }}
style={{ cursor: "pointer" }}
onClick={() => setIsOpen(!isOpen)}>
<FontAwesomeIcon icon={isOpen ? (p.collapseIcon ?? "chevron-up") : (p.expandIcon ?? "chevron-down")} />
<FontAwesomeIcon icon={isOpen ? (p.collapseIcon ?? "chevron-up") : (p.expandIcon ?? "chevron-down")}
title={isOpen ? CollapsableCardMessage.Collapse.niceToString() : CollapsableCardMessage.Expand.niceToString()} />
</span>
}
{p.header}
Expand Down
5 changes: 3 additions & 2 deletions Signum.React.Extensions/Chart/ColorPalette/ColorPalette.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -164,12 +164,13 @@ function ColorSelector(p: { ctx: TypeContext<string>, colors: string[] | null })

function getSwitchModelButton(): React.ReactElement<any> {
return (
<a href="#" className={classes("sf-line-button", "sf-find", "btn input-group-text")}
<a href="#" className={classes("sf-line-button", "sf-find", "btn input-group-text")}
onClick={e => {
e.preventDefault();
setCustom(!custom);
}}>
<FontAwesomeIcon icon={custom ? "palette" : "list"} />
<FontAwesomeIcon icon={custom ? "palette" : "list"}
title={custom ? ColorPaletteMessage.ShowPalette.niceToString() : ColorPaletteMessage.ShowList.niceToString()} />
</a>
);
}
Expand Down
2 changes: 1 addition & 1 deletion Signum.React.Extensions/Chart/HtmlScripts/PivotTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import InitialMessage from '../D3Scripts/Components/InitialMessage';
import { toNumberFormat } from '@framework/Reflection';
import './PivotTable.css'
import { Color } from '../../Basics/Color';
import { isLite, Lite, Entity, BooleanEnum } from '@framework/Signum.Entities';
import { isLite, Lite, Entity, BooleanEnum, EntityControlMessage } from '@framework/Signum.Entities';
import { FilterOptionParsed } from '@framework/Search';
import { QueryToken, FilterConditionOptionParsed, isFilterGroupOptionParsed, FilterGroupOption, FilterConditionOption, FilterOption, FindOptions } from '@framework/FindOptions';
import { ChartColumnType } from '../Signum.Entities.Chart';
Expand Down
2 changes: 2 additions & 0 deletions Signum.React.Extensions/Chart/Signum.Entities.Chart.ts
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,8 @@ export interface ColorPaletteEntity extends Entities.Entity {
export module ColorPaletteMessage {
export const FillAutomatically = new MessageKey("ColorPaletteMessage", "FillAutomatically");
export const Select0OnlyIfYouWantToOverrideTheAutomaticColor = new MessageKey("ColorPaletteMessage", "Select0OnlyIfYouWantToOverrideTheAutomaticColor");
export const ShowPalette = new MessageKey("ColorPaletteMessage", "ShowPalette");
export const ShowList = new MessageKey("ColorPaletteMessage", "ShowList");
}

export module ColorPaletteOperation {
Expand Down
2 changes: 1 addition & 1 deletion Signum.React.Extensions/Chart/Templates/ChartBuilder.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ export default function ChartBuilder(p: ChartBuilderProps) {
<div className="card-body">
{chartScripts?.map((cs, i) =>
<div key={i} className={chartTypeImgClass(cs)} title={cs.symbol.key.after(".")} onClick={() => handleChartScriptOnClick(cs)}>
<img src={"data:image/jpeg;base64," + (cs.icon && cs.icon.bytes)} />
<img src={"data:image/jpeg;base64," + (cs.icon && cs.icon.bytes)} alt={cs.icon.fileName} />
</div>)}
</div>
<div className="card-body">
Expand Down
6 changes: 3 additions & 3 deletions Signum.React.Extensions/Chart/Templates/ChartRequestView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { ifError, Dic, classes } from '@framework/Globals'
import * as AppContext from '@framework/AppContext'
import * as Finder from '@framework/Finder'
import { ValidationError, AbortableRequest } from '@framework/Services'
import { Lite } from '@framework/Signum.Entities'
import { FrameMessage, Lite } from '@framework/Signum.Entities'
import { QueryDescription, SubTokensOptions, QueryToken, FilterOptionParsed, FilterConditionOption, FindOptions } from '@framework/FindOptions'
import { StyleContext, TypeContext } from '@framework/TypeContext'
import { SearchMessage, JavascriptMessage } from '@framework/Signum.Entities'
Expand Down Expand Up @@ -169,8 +169,8 @@ export default function ChartRequestView(p: ChartRequestViewProps) {
<div style={{ display: "flex", flexDirection: "column", flexGrow: 1 }}>
<h2>
<span className="sf-entity-title">{getQueryNiceName(cr.queryKey)}</span>&nbsp;
<a className="sf-popup-fullscreen" href="#" onClick={handleOnFullScreen}>
<FontAwesomeIcon icon="up-right-from-square" />
<a className="sf-popup-fullscreen" href="#" onClick={handleOnFullScreen} >
<FontAwesomeIcon icon="up-right-from-square" title={FrameMessage.Fullscreen.niceToString()}/>
</a>
</h2 >
<ValidationErrors entity={cr} prefix="chartRequest" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ export module DashboardMessage {
export const ForPerformanceReasonsThisDashboardMayShowOutdatedInformation = new MessageKey("DashboardMessage", "ForPerformanceReasonsThisDashboardMayShowOutdatedInformation");
export const LasUpdateWasOn0 = new MessageKey("DashboardMessage", "LasUpdateWasOn0");
export const TheUserQuery0HasNoColumnWithSummaryHeader = new MessageKey("DashboardMessage", "TheUserQuery0HasNoColumnWithSummaryHeader");
export const Edit = new MessageKey("DashboardMessage", "Edit");
}

export module DashboardOperation {
Expand Down
2 changes: 1 addition & 1 deletion Signum.React.Extensions/Dashboard/View/DashboardPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export default function DashboardPage() {
DashboardMessage.LasUpdateWasOn0.niceToString(DateTime.fromISO(dashboardWithQueries.cachedQueries[0].creationDate).toLocaleString(DateTime.DATETIME_MED_WITH_SECONDS))}>
<FontAwesomeIcon icon="clock-rotate-left" /> {DateTime.fromISO(dashboardWithQueries.cachedQueries[0].creationDate).toRelative()}
</span> : null}
<Link className="sf-hide " style={{ textDecoration: "none" }} to={Navigator.navigateRoute(dashboard)}><FontAwesomeIcon icon="pen-to-square" />&nbsp;Edit</Link>
<Link className="sf-hide " style={{ textDecoration: "none" }} to={Navigator.navigateRoute(dashboard)}><FontAwesomeIcon icon="pen-to-square" />&nbsp;{DashboardMessage.Edit.niceToString()}</Link>
</div>
}
</div>}
Expand Down
2 changes: 1 addition & 1 deletion Signum.React.Extensions/Dashboard/View/DashboardView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ export function PanelPart(p: PanelPartProps) {
{
renderer.handleEditClick &&
<a className="sf-pointer sf-hide" onClick={e => { e.preventDefault(); renderer.handleEditClick!(content, lite, customDataRef, e).then(v => v && p.reload()); }}>
<FontAwesomeIcon icon="pen-to-square" className="me-1" />Edit
<FontAwesomeIcon icon="pen-to-square" className="me-1" />{DashboardMessage.Edit.niceToString()}
</a>
}
</div>
Expand Down
6 changes: 3 additions & 3 deletions Signum.React.Extensions/Dynamic/DynamicPanelSimplePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ import { API, CompilationError, EvalEntityError, DynamicPanelInformation } from
import { Options } from './DynamicClientOptions'
import CSharpCodeMirror from '../Codemirror/CSharpCodeMirror'
import * as AuthClient from '../Authorization/AuthClient'
import { DynamicPanelPermission } from './Signum.Entities.Dynamic'
import { DynamicPanelMessage, DynamicPanelPermission } from './Signum.Entities.Dynamic'
import { useLocation, useParams } from "react-router";
import { Tab, Tabs } from 'react-bootstrap';
import { FormGroup } from '@framework/Lines';
import { toFilterRequests } from '@framework/Finder';
import "./DynamicPanelPage.css"
import { JavascriptMessage } from '@framework/Signum.Entities';
import { JavascriptMessage, SearchMessage } from '@framework/Signum.Entities';
import { useForceUpdate, useAPI, useInterval } from '@framework/Hooks'
import { QueryString } from '@framework/QueryString'

Expand Down Expand Up @@ -149,7 +149,7 @@ export function CheckEvalType(p: CheckEvalTypeProps) {
{
state == "loading" ?
<FontAwesomeIcon icon="arrows-rotate" spin={true} /> :
<span onClick={e => { e.preventDefault(); loadData(p); }} style={{ cursor: "pointer" }}><FontAwesomeIcon icon="arrows-rotate" className="sf-line-button" /></span>
<span onClick={e => { e.preventDefault(); loadData(p); }} style={{ cursor: "pointer" }} ><FontAwesomeIcon icon="arrows-rotate" className="sf-line-button" title={DynamicPanelMessage.OpenErrors.niceToString()} /></span>
}
{
state == "failed" ? <span className="mini-alert alert-danger" role="alert"><FontAwesomeIcon icon="triangle-exclamation" /> Exception checking {getQueryNiceName(p.findOptions.queryName)}</span> :
Expand Down
4 changes: 4 additions & 0 deletions Signum.React.Extensions/Dynamic/Signum.Entities.Dynamic.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,10 @@ export module DynamicMixinConnectionOperation {
export const Delete : Entities.DeleteSymbol<DynamicMixinConnectionEntity> = registerSymbol("Operation", "DynamicMixinConnectionOperation.Delete");
}

export module DynamicPanelMessage {
export const OpenErrors = new MessageKey("DynamicPanelMessage", "OpenErrors");
}

export module DynamicPanelPermission {
export const ViewDynamicPanel : Authorization.PermissionSymbol = registerSymbol("Permission", "DynamicPanelPermission.ViewDynamicPanel");
export const RestartApplication : Authorization.PermissionSymbol = registerSymbol("Permission", "DynamicPanelPermission.RestartApplication");
Expand Down
Loading

0 comments on commit 3cce578

Please sign in to comment.