Example #1
0
        private async void FigmaUrlTextField_Changed(object sender, EventArgs e)
        {
            ShowLoading(true);

            SelectedFileVersion = null;

            //loads current versions
            versionPopUp.RemoveAllItems();

            RefreshStates();

            if (WebApiHelper.TryParseFileUrl(FileId, out string fileId))
            {
                figmaUrlTextField.StringValue = fileId;
            }

            versions = await Task.Run(() => {
                try {
                    var query             = new FigmaFileVersionQuery(fileId);
                    var figmaFileVersions = FigmaSharp.AppContext.Api.GetFileVersions(query).versions;
                    var result            = figmaFileVersions
                                            .GroupByCreatedAt()
                                            .ToArray();
                    return(result);
                } catch (Exception ex) {
                    LoggingService.LogError("[FIGMA] Error", ex);
                    return(null);
                }
            });

            ShowLoading(false);

            versionMenu.Clear();

            if (versions != null)
            {
                foreach (var item in versions)
                {
                    versionMenu.AddItem(item);
                }

                versionMenu.Generate(versionPopUp.Menu);

                versionPopUp.SelectItem(versionMenu.CurrentMenu);
                SelectedFileVersion = versionMenu.CurrentVersion;
            }

            RefreshStates();
        }
 internal void ClearVersionMenu()
 {
     menuManager.Clear(versionsMainMenu.Submenu);
 }