Example #1
0
        public async Task UpdateVersionMenu(string link_id)
        {
            if (!UseAsVersionsMenu())
            {
                return;
            }

            versionsMainMenu.Activated += (s, e) => {
                FigmaFileVersion version = menuManager.GetFileVersion(versionsMainMenu);
                if (version != null)
                {
                    VersionSelected?.Invoke(this, version);
                }
            };

            var versions = await Task.Run(() =>
            {
                var query = new FigmaFileVersionQuery(link_id);

                FigmaSharp.AppContext.Current.SetAccessToken(TokenStore.SharedTokenStore.GetToken());

                return(FigmaSharp.AppContext.Api.GetFileVersions(query)
                       .versions.GroupByCreatedAt()
                       .ToArray());
            });

            menuManager.Clear();

            foreach (var version in versions)
            {
                menuManager.AddItem(version);
            }

            UseAsVersionsMenu();
        }
Example #2
0
        private async void UpdateButton_Activated(object sender, System.EventArgs e)
        {
            PerformClose(this);

            using var monitor = IdeApp.Workbench.ProgressMonitors.GetFigmaProgressMonitor(
                      $"Updating ‘{mainBundle.Manifest.DocumentTitle}’…",
                      $"‘{mainBundle.Manifest.DocumentTitle}’ updated successfully");

            //we need search current added views and regenerate them
            var files = project.GetAllFigmaDesignerFiles()
                        .Where(s => s.TryGetFigmaPackageId(out var packageId) && packageId == mainBundle.FileId);

            var version = versionMenu.GetFileVersion(versionPopUp.SelectedItem);
            await project.UpdateFigmaFilesAsync(monitor, files, mainBundle, version, translationsCheckbox.State == AppKit.NSCellStateValue.On);
        }
Example #3
0
        private async void UpdateButton_Activated(object sender, System.EventArgs e)
        {
            PerformClose(this);

            IdeApp.Workbench.StatusBar.BeginProgress($"Updating ‘{mainBundle.Manifest.DocumentTitle}’…");
            IdeApp.Workbench.StatusBar.AutoPulse = true;

            //we need search current added views and regenerate them
            var files = project.GetAllFigmaDesignerFiles()
                        .Where(s => s.TryGetFigmaPackageId(out var packageId) && packageId == mainBundle.FileId);

            var version = versionMenu.GetFileVersion(versionPopUp.SelectedItem);
            await project.UpdateFigmaFilesAsync(files, mainBundle, version, translationsCheckbox.State == AppKit.NSCellStateValue.On);

            IdeApp.Workbench.StatusBar.AutoPulse = false;
            IdeApp.Workbench.StatusBar.EndProgress();
        }
        public async Task UpdateVersionMenu(string link_id)
        {
            if (!UseAsVersionsMenu())
            {
                return;
            }

            versionsMainMenu.Activated += (s, e) => {
                FigmaFileVersion version = menuManager.GetFileVersion(versionsMainMenu);
                if (version != null)
                {
                    VersionSelected?.Invoke(this, version);
                }
            };

            var versions = await Task.Run(() =>
            {
                try
                {
                    var query = new FigmaFileVersionQuery(link_id);

                    return(FigmaSharp.AppContext.Api.GetFileVersions(query)
                           .versions.GroupByCreatedAt()
                           .ToArray());
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    return(new FigmaFileVersion[0]);
                }
            });

            menuManager.Clear();

            foreach (var version in versions)
            {
                menuManager.AddItem(version);
            }

            UseAsVersionsMenu();
        }