public override void Update(System.Html.Element element, Func <object> valueAccessor, Func <System.Collections.Dictionary> allBindingsAccessor, object viewModel, object context)
        {
            // Whenever the value subsequently changes, slowly fade the element in or out
            Observable <bool> observable = (Observable <bool>)valueAccessor();
            string            effectIn   = (string)((object)allBindingsAccessor()["effectIn"]);
            string            effectOut  = (string)((object)allBindingsAccessor()["effectOut"]);
            jQueryObject      item       = jQuery.FromElement(element);
            string            effect     = KnockoutUtils.UnwrapObservable(observable) ? effectIn : effectOut;

            switch (effect)
            {
            case "fadeIn":
                item.FadeIn();
                break;

            case "fadeOut":
                item.FadeOut();
                break;

            case "slideUp":
                item.SlideUp();
                break;

            case "slideDown":
                item.SlideDown();
                break;
            }
        }
Esempio n. 2
0
        public override void Update(System.Html.Element element, Func <object> valueAccessor, Func <System.Collections.Dictionary> allBindingsAccessor, object viewModel, object context)
        {
            Observable <float> observable = (Observable <float>)valueAccessor();
            float value = KnockoutUtils.UnwrapObservable(observable);

            jQuery.FromElement(element).Plugin <ProgressBarObject>().ProgressBar(ProgressBarMethod.Value, value);
        }
        public override void Init(System.Html.Element element, Func <object> valueAccessor, Func <System.Collections.Dictionary> allBindingsAccessor, object viewModel, object context)
        {
            Observable <bool> observable = (Observable <bool>)valueAccessor();


            // Initially set the element to be instantly visible/hidden depending on the value
            jQuery.FromElement(element).Toggle(KnockoutUtils.UnwrapObservable(observable));
        }
        public static string getCurrencySymbol(Func <object> valueAccessor)
        {
            EntityReference value = (EntityReference)KnockoutUtils.UnwrapObservable(valueAccessor());

            if (value != null)
            {
                return(NumberEx.GetCurrencySymbol(value.Id));
            }

            return(string.Empty);
        }
Esempio n. 5
0
        public override void Update(System.Html.Element element, Func <object> valueAccessor, Func <System.Collections.Dictionary> allBindingsAccessor, object viewModel, object context)
        {
            jQueryObject container = jQuery.FromElement(element);

            jQueryObject inputField     = container.Find(".sparkle-input-timeofday-part");
            DateTime     value          = (DateTime)KnockoutUtils.UnwrapObservable(valueAccessor());
            string       formatString   = GetFormatString();
            string       formattedValue = DateTimeEx.FormatTimeSpecific(value, formatString);

            inputField.Value((string)formattedValue);
        }
Esempio n. 6
0
        public override void Update(System.Html.Element element, Func <object> valueAccessor, Func <System.Collections.Dictionary> allBindingsAccessor, object viewModel, object context)
        {
            jQueryObject container  = jQuery.FromElement(element);
            jQueryObject inputField = container.Find(".sparkle-input-duration-part");
            object       value      = KnockoutUtils.UnwrapObservable(valueAccessor());

            // Get the value in duration format
            int?   duration       = (int?)value;
            string durationString = formatDuration(duration);

            inputField.Value(durationString);
        }
        public override void Update(System.Html.Element element, Func <object> valueAccessor, Func <System.Collections.Dictionary> allBindingsAccessor, object viewModel, object context)
        {
            jQueryObject container = jQuery.FromElement(element);
            jQueryObject dateTime  = container.Find(".sparkle-input-datepicker-part");
            object       value     = KnockoutUtils.UnwrapObservable(valueAccessor());

            if ((string)Script.Literal("typeof({0})", value) == "string")
            {
                value = Date.Parse((string)value);
            }

            dateTime.Plugin <DatePickerObject>().DatePicker(DatePickerMethod.SetDate, value);
        }
Esempio n. 8
0
        public override void Update(System.Html.Element element, Func <object> valueAccessor, Func <System.Collections.Dictionary> allBindingsAccessor, object viewModel, object context)
        {
            jQueryObject    container  = jQuery.FromElement(element);
            jQueryObject    inputField = container.Find(".sparkle-input-lookup-part");
            EntityReference value      = (EntityReference)KnockoutUtils.UnwrapObservable(valueAccessor());

            string displayName = "";

            if (value != null)
            {
                displayName = value.Name;
            }
            inputField.Value(displayName);
        }
        public override void Update(System.Html.Element element, Func <object> valueAccessor, Func <System.Collections.Dictionary> allBindingsAccessor, object viewModel, object context)
        {
            // Whenever the value subsequently changes, slowly fade the element in or out
            Observable <bool> observable = (Observable <bool>)valueAccessor();

            if (KnockoutUtils.UnwrapObservable(observable))
            {
                jQuery.FromElement(element).FadeIn();
            }
            else
            {
                jQuery.FromElement(element).FadeOut();
            }
        }
Esempio n. 10
0
        public override void Update(System.Html.Element element, Func <object> valueAccessor, Func <System.Collections.Dictionary> allBindingsAccessor, object viewModel, object context)
        {
            object value = KnockoutUtils.UnwrapObservable(valueAccessor());

            // //handle date data coming via json from Microsoft
            // if (String(value).indexOf('/Date(') == 0) {
            //     value = new Date(parseInt(value.replace(/\/Date\((.*?)\)\//gi, "$1")));
            // }

            // current = $(element).datepicker("getDate");
            jQuery.FromElement(element).Value((string)value);
            // if (value - current !== 0) {
            //     $(element).datepicker("setDate", value);
            // }
        }
        public AnimatedTransitionsViewModel()
        {
            var self = this;

            Planets = Knockout.ObservableArray(new[] {
                new Planet(name: "Mercury", type: "rock"),
                new Planet(name: "Venus", type: "rock"),
                new Planet(name: "Earth", type: "rock"),
                new Planet(name: "Mars", type: "rock"),
                new Planet(name: "Jupiter", type: "gasgiant"),
                new Planet(name: "Saturn", type: "gasgiant"),
                new Planet(name: "Uranus", type: "gasgiant"),
                new Planet(name: "Neptune", type: "gasgiant"),
                new Planet(name: "Pluto", type: "rock")
            });

            TypeToShow             = Knockout.Observable("all");
            DisplayAdvancedOptions = Knockout.Observable(false);
            AddPlanet = type => self.Planets.Push(new Planet("New planet", type));

            PlanetsToShow = Knockout.Computed(() =>
            {
                // Represents a filtered list of planets
                // i.e., only those matching the "typeToShow" condition
                var desiredType = self.TypeToShow.Value;

                if (desiredType == "all")
                {
                    return(self.Planets.Value);
                }
                return(KnockoutUtils.ArrayFilter(self.Planets.Value, planet => planet.Type == desiredType));
            });

            // Animation callbacks for the planets list
            ShowPlanetElement = elem => {
                if (elem.NodeType == ElementType.Element)
                {
                    jQuery.FromElement(elem).Hide().SlideDown();
                }
            };
            HidePlanetElement = elem => {
                if (elem.NodeType == ElementType.Element)
                {
                    jQuery.FromElement(elem).SlideUp(EffectDuration.Slow, () => jQuery.FromElement(elem).Remove());
                }
            };

            // Here's a custom Knockout binding that makes elements
            // shown/hidden via jQuery's fadeIn()/fadeOut() methods
            //Could be stored in a separate utility library
            Knockout.BindingHandlers["fadeVisible"] = new InlineBindingHandler <Observable <bool> >(
                init: (element, valueAccessor, allBindingsAccessor, model) => {
                // Initially set the element to be instantly visible/hidden
                // depending on the value
                var value = valueAccessor.Invoke();

                // Use "unwrapObservable" so we can handle values that may
                // or may not be observable
                jQuery.FromElement(element).Toggle(KnockoutUtils.UnwrapObservable(value));
            },
                update: (element, valueAccessor, allBindingsAccessor, model) => {
                // Whenever the value subsequently changes, slowly fade the
                // element in or out
                var value = valueAccessor.Invoke();
                if (KnockoutUtils.UnwrapObservable(value))
                {
                    jQuery.FromElement(element).FadeIn();
                }
                else
                {
                    jQuery.FromElement(element).FadeOut();
                }
            }
                );
        }