Skip to content

Commit 692ff6b

Browse files
🕐🕒🕙Timezone conversion control initial check-in
1 parent e9f4fc0 commit 692ff6b

22 files changed

+8895
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
6+
# generated directory
7+
**/generated
8+
9+
# output directory
10+
/out
11+
12+
# msbuild output directories
13+
/bin
14+
/obj
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"generator-pcf": {
3+
"controlNamespace": "Maverick.Controls",
4+
"controlName": "TimezoneConverter",
5+
"controlTemplate": "field"
6+
}
7+
}

TimezoneConverterControl/README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Clever Character Counter
2+
3+
[![GitHub Releases](https://img.shields.io/static/v1?label=Download&message=Timezone%20Converter&style=for-the-badge&logo=microsoft&color=brightgreen)](https://github.com/Power-Maverick/PCF-Controls/releases/tag/Timezone-v.1.0.6)
4+
5+
PCF control that displays clocks with different timezones based on the configuration and selection. Time is converted from user's timezone setting. Configuration can be from 1 timezone clock displayed to maximum of 3 clocks.
6+
7+
### Configurations
8+
9+
Control has 5 configuration properities which are described below:
10+
11+
| Field | Description | Required |
12+
| - | - | - | :-: |
13+
| User Selected DateTime | A selected DateTime with respect to user's timezone | :heavy_check_mark: |
14+
| Default Timezone #1 | Default Timezone #1 | :x: |
15+
| Default Timezone #2 | Default Timezone #2 | :x: |
16+
| Default Timezone #3 | Default Timezone #3 | :x: |
17+
| Number of Timezones to Display | Select how many timezone options you want to dsiplay | :x: |
18+
19+
### Screenshot
20+
21+
![Configuration](assets/demo.gif)
22+
23+
### Demo of the control
24+
25+
[![DemoVideo](https://img.youtube.com/vi/JTnEdIK9IjY/0.jpg)](https://www.youtube.com/watch?v=JTnEdIK9IjY)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# msbuild output directories
4+
/bin
5+
/obj
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<PowerAppsTargetsPath>$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\PowerApps</PowerAppsTargetsPath>
5+
</PropertyGroup>
6+
7+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
8+
<Import Project="$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Solution.props" Condition="Exists('$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Solution.props')" />
9+
10+
<PropertyGroup>
11+
<ProjectGuid>1d3a9de5-b072-4f2f-a95e-485a0f96118e</ProjectGuid>
12+
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
13+
<!--Remove TargetFramework when this is available in 16.1-->
14+
<TargetFramework>net462</TargetFramework>
15+
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
16+
<SolutionRootPath>src</SolutionRootPath>
17+
</PropertyGroup>
18+
19+
<!-- Solution Packager overrides, un-comment to use: SolutionPackagerType (Managed, Unmanaged, Both)
20+
<PropertyGroup>
21+
<SolutionPackageType>Managed</SolutionPackageType>
22+
</PropertyGroup>
23+
-->
24+
25+
<ItemGroup>
26+
<PackageReference Include="Microsoft.PowerApps.MSBuild.Solution" Version="1.*" />
27+
</ItemGroup>
28+
29+
<ItemGroup>
30+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\.gitignore" />
31+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\bin\**" />
32+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\obj\**" />
33+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\*.cdsproj" />
34+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\*.cdsproj.user" />
35+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\*.sln" />
36+
</ItemGroup>
37+
38+
<ItemGroup>
39+
<None Include="$(MSBuildThisFileDirectory)\**" Exclude="@(ExcludeDirectories)" />
40+
</ItemGroup>
41+
42+
<ItemGroup>
43+
<ProjectReference Include="..\..\TimezoneConverterControl.pcfproj" />
44+
</ItemGroup>
45+
46+
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" />
47+
<Import Project="$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Solution.targets" Condition="Exists('$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Solution.targets')" />
48+
49+
</Project>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ImportExportXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
3+
<Entities />
4+
<Roles />
5+
<Workflows />
6+
<FieldSecurityProfiles />
7+
<Templates />
8+
<EntityMaps />
9+
<EntityRelationships />
10+
<OrganizationSettings />
11+
<optionsets />
12+
<CustomControls />
13+
<SolutionPluginAssemblies />
14+
<EntityDataProviders />
15+
<Languages>
16+
<Language>1033</Language>
17+
</Languages>
18+
</ImportExportXml>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<EntityRelationships xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ImportExportXml version="9.1.0.643" SolutionPackageVersion="9.1" languagecode="1033" generatedBy="CrmLive" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
3+
<SolutionManifest>
4+
<!-- Unique Name of Cds Solution-->
5+
<UniqueName>TimezoneConverterSolution</UniqueName>
6+
<LocalizedNames>
7+
<!-- Localized Solution Name in language code -->
8+
<LocalizedName description="TimezoneConverterSolution" languagecode="1033" />
9+
</LocalizedNames>
10+
<Descriptions />
11+
<Version>1.0.7</Version>
12+
<!-- Solution Package Type: Unmanaged(0)/Managed(1)/Both(2)-->
13+
<Managed>2</Managed>
14+
<Publisher>
15+
<!-- Unique Publisher Name of Cds Solution -->
16+
<UniqueName>powermaverick</UniqueName>
17+
<LocalizedNames>
18+
<!-- Localized Cds Publisher Name in language code-->
19+
<LocalizedName description="powermaverick" languagecode="1033" />
20+
</LocalizedNames>
21+
<Descriptions>
22+
<!-- Description of Cds Publisher in language code -->
23+
<Description description="powermaverick" languagecode="1033" />
24+
</Descriptions>
25+
<EMailAddress xsi:nil="true">
26+
</EMailAddress>
27+
<SupportingWebsiteUrl xsi:nil="true">
28+
</SupportingWebsiteUrl>
29+
<!-- Customization Prefix for the Cds Publisher-->
30+
<CustomizationPrefix>pmav</CustomizationPrefix>
31+
<!-- Derived Option Value Prefix for the Customization Prefix of Cds Publisher -->
32+
<CustomizationOptionValuePrefix>35270</CustomizationOptionValuePrefix>
33+
<Addresses>
34+
<!-- Address of the Publisher-->
35+
<Address>
36+
<AddressNumber>1</AddressNumber>
37+
<AddressTypeCode>1</AddressTypeCode>
38+
<City xsi:nil="true">
39+
</City>
40+
<County xsi:nil="true">
41+
</County>
42+
<Country xsi:nil="true">
43+
</Country>
44+
<Fax xsi:nil="true">
45+
</Fax>
46+
<FreightTermsCode xsi:nil="true">
47+
</FreightTermsCode>
48+
<ImportSequenceNumber xsi:nil="true">
49+
</ImportSequenceNumber>
50+
<Latitude xsi:nil="true">
51+
</Latitude>
52+
<Line1 xsi:nil="true">
53+
</Line1>
54+
<Line2 xsi:nil="true">
55+
</Line2>
56+
<Line3 xsi:nil="true">
57+
</Line3>
58+
<Longitude xsi:nil="true">
59+
</Longitude>
60+
<Name xsi:nil="true">
61+
</Name>
62+
<PostalCode xsi:nil="true">
63+
</PostalCode>
64+
<PostOfficeBox xsi:nil="true">
65+
</PostOfficeBox>
66+
<PrimaryContactName xsi:nil="true">
67+
</PrimaryContactName>
68+
<ShippingMethodCode>1</ShippingMethodCode>
69+
<StateOrProvince xsi:nil="true">
70+
</StateOrProvince>
71+
<Telephone1 xsi:nil="true">
72+
</Telephone1>
73+
<Telephone2 xsi:nil="true">
74+
</Telephone2>
75+
<Telephone3 xsi:nil="true">
76+
</Telephone3>
77+
<TimeZoneRuleVersionNumber xsi:nil="true">
78+
</TimeZoneRuleVersionNumber>
79+
<UPSZone xsi:nil="true">
80+
</UPSZone>
81+
<UTCOffset xsi:nil="true">
82+
</UTCOffset>
83+
<UTCConversionTimeZoneCode xsi:nil="true">
84+
</UTCConversionTimeZoneCode>
85+
</Address>
86+
<Address>
87+
<AddressNumber>2</AddressNumber>
88+
<AddressTypeCode>1</AddressTypeCode>
89+
<City xsi:nil="true">
90+
</City>
91+
<County xsi:nil="true">
92+
</County>
93+
<Country xsi:nil="true">
94+
</Country>
95+
<Fax xsi:nil="true">
96+
</Fax>
97+
<FreightTermsCode xsi:nil="true">
98+
</FreightTermsCode>
99+
<ImportSequenceNumber xsi:nil="true">
100+
</ImportSequenceNumber>
101+
<Latitude xsi:nil="true">
102+
</Latitude>
103+
<Line1 xsi:nil="true">
104+
</Line1>
105+
<Line2 xsi:nil="true">
106+
</Line2>
107+
<Line3 xsi:nil="true">
108+
</Line3>
109+
<Longitude xsi:nil="true">
110+
</Longitude>
111+
<Name xsi:nil="true">
112+
</Name>
113+
<PostalCode xsi:nil="true">
114+
</PostalCode>
115+
<PostOfficeBox xsi:nil="true">
116+
</PostOfficeBox>
117+
<PrimaryContactName xsi:nil="true">
118+
</PrimaryContactName>
119+
<ShippingMethodCode>1</ShippingMethodCode>
120+
<StateOrProvince xsi:nil="true">
121+
</StateOrProvince>
122+
<Telephone1 xsi:nil="true">
123+
</Telephone1>
124+
<Telephone2 xsi:nil="true">
125+
</Telephone2>
126+
<Telephone3 xsi:nil="true">
127+
</Telephone3>
128+
<TimeZoneRuleVersionNumber xsi:nil="true">
129+
</TimeZoneRuleVersionNumber>
130+
<UPSZone xsi:nil="true">
131+
</UPSZone>
132+
<UTCOffset xsi:nil="true">
133+
</UTCOffset>
134+
<UTCConversionTimeZoneCode xsi:nil="true">
135+
</UTCConversionTimeZoneCode>
136+
</Address>
137+
</Addresses>
138+
</Publisher>
139+
<RootComponents />
140+
<MissingDependencies />
141+
</SolutionManifest>
142+
</ImportExportXml>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<manifest>
3+
<control namespace="Maverick.Controls" constructor="TimezoneConverter" version="0.0.1" display-name-key="TimezoneConverter" description-key="TimezoneConverter description" control-type="standard" preview-image="img/preview.png">
4+
<property name="UserDateTime" display-name-key="UserDate_Display_Key" description-key="UserDate_Desc_Key" of-type="DateAndTime.DateAndTime" usage="bound" required="true"/>
5+
6+
<property name="DefaultTimezone1" display-name-key="Default Timezone #1" description-key="Default Timezone #1" of-type="Enum" usage="input" required="false">
7+
<value name="New_York" display-name-key="New York">America/New_York</value>
8+
<value name="Shanghai" display-name-key="Shanghai">Asia/Shanghai</value>
9+
<value name="Adelaide" display-name-key="Adelaide">Australia/Adelaide</value>
10+
<value name="Kolkata" display-name-key="Kolkata">Asia/Kolkata</value>
11+
<value name="London" display-name-key="London">Europe/London</value>
12+
<value name="Berlin" display-name-key="Berlin">Europe/Berlin</value>
13+
<value name="Tokyo" display-name-key="Tokyo">Asia/Tokyo</value>
14+
</property>
15+
16+
<property name="DefaultTimezone2" display-name-key="Default Timezone #2" description-key="Default Timezone #2" of-type="Enum" usage="input" required="false">
17+
<value name="New_York" display-name-key="New York">America/New_York</value>
18+
<value name="Shanghai" display-name-key="Shanghai">Asia/Shanghai</value>
19+
<value name="Adelaide" display-name-key="Adelaide">Australia/Adelaide</value>
20+
<value name="Kolkata" display-name-key="Kolkata">Asia/Kolkata</value>
21+
<value name="London" display-name-key="London">Europe/London</value>
22+
<value name="Berlin" display-name-key="Berlin">Europe/Berlin</value>
23+
<value name="Tokyo" display-name-key="Tokyo">Asia/Tokyo</value>
24+
</property>
25+
26+
<property name="DefaultTimezone3" display-name-key="Default Timezone #3" description-key="Default Timezone #3" of-type="Enum" usage="input" required="false">
27+
<value name="New_York" display-name-key="New York">America/New_York</value>
28+
<value name="Shanghai" display-name-key="Shanghai">Asia/Shanghai</value>
29+
<value name="Adelaide" display-name-key="Adelaide">Australia/Adelaide</value>
30+
<value name="Kolkata" display-name-key="Kolkata">Asia/Kolkata</value>
31+
<value name="London" display-name-key="London">Europe/London</value>
32+
<value name="Berlin" display-name-key="Berlin">Europe/Berlin</value>
33+
<value name="Tokyo" display-name-key="Tokyo">Asia/Tokyo</value>
34+
</property>
35+
36+
<property name="NumberOfTimezoneDisplay" display-name-key="Number of Timezones to Display" description-key="Select how many timezone options you want to dsiplay" of-type="Enum" usage="input" required="false">
37+
<value name="All" display-name-key="All">All</value>
38+
<value name="One" display-name-key="One">1</value>
39+
<value name="Two" display-name-key="Two">2</value>
40+
</property>
41+
42+
<resources>
43+
<code path="index.ts" order="1"/>
44+
<css path="css/TimezoneConverter.css" order="1"/>
45+
<resx path="strings/TimezoneConverter.1033.resx" version="1.0.0"/>
46+
</resources>
47+
</control>
48+
</manifest>

0 commit comments

Comments
 (0)