예제 #1
0
        protected virtual IEnumerable <string> GetBootScripts()
        {
            Slab slab = this.GetBootSlab();

            return(from s in slab.PackagedSources
                   select s.Name);
        }
        // Token: 0x0600286D RID: 10349 RVA: 0x000959EC File Offset: 0x00093BEC
        public static ResourceBase[] GetUserDataEmbeddedLinks(Slab bootSlab, string owaVersion)
        {
            IEnumerable <ResourceBase> nonThemedUserDataEmbededLinks = UserResourcesFinder.GetNonThemedUserDataEmbededLinks(bootSlab, owaVersion);

            ThemeStyleResource[] userDataEmbededStylesLinks = UserResourcesFinder.GetUserDataEmbededStylesLinks(bootSlab, owaVersion);
            return(nonThemedUserDataEmbededLinks.Union(userDataEmbededStylesLinks).ToArray <ResourceBase>());
        }
        // Token: 0x0600286F RID: 10351 RVA: 0x00095A70 File Offset: 0x00093C70
        public static ThemeStyleResource[] GetUserDataEmbededStylesLinks(Slab bootSlab, string owaVersion)
        {
            List <ThemeStyleResource> list = new List <ThemeStyleResource>();

            foreach (SlabStyleFile style in bootSlab.Styles)
            {
                list.Add(ThemeStyleResource.FromSlabStyle(style, owaVersion, ThemeManagerFactory.GetInstance(owaVersion).ShouldSkipThemeFolder));
            }
            return(list.ToArray());
        }
예제 #4
0
        public IDictionary <string, Slab> GetSlabs(string[] enabledFeatureNames, LayoutType layout)
        {
            Dictionary <string, Slab> dictionary = new Dictionary <string, Slab>();
            Dictionary <string, IEnumerable <string> > dictionary2 = new Dictionary <string, IEnumerable <string> >();

            foreach (KeyValuePair <string, SlabDefinition> keyValuePair in this.SlabDefinitions)
            {
                string key = keyValuePair.Key;
                if (this.Type != SlabManifestType.SharedHoverCard || !key.Equals("editor"))
                {
                    SlabDefinition       value      = keyValuePair.Value;
                    string[]             array      = enabledFeatureNames.Where(new Func <string, bool>(value.HasBinding)).ToArray <string>();
                    IEnumerable <string> enumerable = null;
                    if (array.Any <string>())
                    {
                        dictionary[key] = value.GetSlab(array, layout, out enumerable);
                    }
                    else if (value.HasDefaultBinding())
                    {
                        Slab defaultSlab = value.GetDefaultSlab(layout, out enumerable);
                        if (this.Type == SlabManifestType.SharedHoverCard && defaultSlab.Dependencies.Contains("editor"))
                        {
                            IEnumerable <string> second = new string[]
                            {
                                "editor"
                            };
                            defaultSlab.Dependencies = enumerable.Except(second).ToArray <string>();
                        }
                        dictionary[key] = defaultSlab;
                    }
                    if (enumerable != null)
                    {
                        if (this.Type == SlabManifestType.SharedHoverCard && enumerable.Contains("editor"))
                        {
                            IEnumerable <string> second2 = new string[]
                            {
                                "editor"
                            };
                            enumerable = enumerable.Except(second2).ToArray <string>();
                        }
                        dictionary2[key] = enumerable;
                    }
                }
            }
            this.IncludeSlabsDependencies(dictionary, dictionary2, enabledFeatureNames, layout);
            return(dictionary);
        }
예제 #5
0
        // Token: 0x06002828 RID: 10280 RVA: 0x000949E8 File Offset: 0x00092BE8
        private IEnumerable <Slab> GetSlabs(SlabManifestType slabManifestType, LayoutType layout, string[] features, bool includeBootSlabsOnly)
        {
            List <Slab> list = new List <Slab>();

            if (includeBootSlabsOnly)
            {
                Slab slab = this.GetSlabManifest(slabManifestType, layout).GetBootSlabDefinition().GetSlab(features, layout);
                if (slab != null)
                {
                    list.Add(slab);
                }
            }
            else
            {
                list = (from kv in this.GetSlabManifest(slabManifestType, layout).GetSlabs(features, layout)
                        select kv.Value).ToList <Slab>();
            }
            return(list);
        }
        // Token: 0x0600286C RID: 10348 RVA: 0x00095938 File Offset: 0x00093B38
        internal static ResourceBase[] GetNonThemedUserDataEmbededLinks(Slab bootSlab, string owaVersion)
        {
            int num = (bootSlab.PackagedStrings.Length > 0) ? bootSlab.PackagedStrings.Length : bootSlab.Strings.Length;

            ResourceBase[] array = new ResourceBase[num + 1];
            if (bootSlab.PackagedStrings.Any <SlabStringFile>())
            {
                for (int i = 0; i < bootSlab.PackagedStrings.Length; i++)
                {
                    array[i] = new LocalizedStringsScriptResource(bootSlab.PackagedStrings[i].Name, ResourceTarget.Any, owaVersion);
                }
            }
            else
            {
                for (int j = 0; j < bootSlab.Strings.Length; j++)
                {
                    array[j] = new LocalizedStringsScriptResource(bootSlab.Strings[j].Name, ResourceTarget.Any, owaVersion);
                }
            }
            array[array.Length - 1] = new GlobalizeCultureScriptResource(ResourceTarget.Any, owaVersion);
            return(array);
        }
        // Token: 0x06002870 RID: 10352 RVA: 0x00095ABC File Offset: 0x00093CBC
        public static ResourceBase[] GetUserDataEmbeddedLinks(SlabManifestType manifestType, LayoutType layout, string owaVersion)
        {
            Slab bootSlab = UserResourcesFinder.CreateUserBootSlab(manifestType, layout, owaVersion);

            return(UserResourcesFinder.GetUserDataEmbeddedLinks(bootSlab, owaVersion));
        }