Exemple #1
0
        void ControlTreeDataLoader.LoadData()
        {
            EwfPage.Instance.AddDisplayLink(this);

            // NOTE: Currently this hidden field will always be persisted in page state whether the page cares about that or not. We should put this decision into the
            // hands of the page, maybe by making ToggleButton sort of like a form control such that it takes a boolean value in its constructor and allows access to
            // its post back value.
            var controlsToggled = false;

            EwfHiddenField.Create(
                this,
                EwfPage.Instance.PageState.GetValue(this, pageStateKey, false).ToString(),
                postBackValue => controlsToggled = getControlsToggled(postBackValue),
                EwfPage.Instance.DataUpdate,
                out controlsToggledHiddenFieldValueGetter,
                out controlsToggledHiddenFieldClientIdGetter);
            EwfPage.Instance.DataUpdate.AddModificationMethod(
                () => AppRequestState.AddNonTransactionalModificationMethod(() => EwfPage.Instance.PageState.SetValue(this, pageStateKey, controlsToggled)));

            if (TagKey == HtmlTextWriterTag.Button)
            {
                PostBackButton.AddButtonAttributes(this);
            }
            this.AddJavaScriptEventScript(JsWritingMethods.onclick, handlerName + "()");
            CssClass    = CssClass.ConcatenateWithSpace("ewfClickable");
            textControl = ActionControlStyle.SetUpControl(this, "", width, height, w => base.Width = w);
        }
        private static IReadOnlyCollection <EtherealComponentOrElement> getLogInHiddenFieldsAndSetUpClientSideLogic(DataValue <string> clientTime)
        {
            EwfPage.Instance.PreRender += delegate { setCookie(testCookieName, "No data"); };

            HiddenFieldId timeHiddenFieldId = new HiddenFieldId();
            var           timeHiddenField   = new EwfHiddenField("", (postBackValue, validator) => clientTime.Value = postBackValue.Value, id: timeHiddenFieldId);

            EwfPage.Instance.PreRender +=
                delegate {
                EwfPage.Instance.ClientScript.RegisterOnSubmitStatement(
                    typeof(UserManagementStatics),
                    "formSubmitEventHandler",
                    timeHiddenFieldId.GetJsValueModificationStatements("new Date().toISOString()"));
            };

            return(timeHiddenField.PageComponent.ToCollection());
        }
        private static void setUpClientSideLogicForLogIn(DataValue <string> utcOffset, ValidationList vl)
        {
            EwfPage.Instance.PreRender += delegate { setCookie(testCookieName, "No data"); };

            Func <PostBackValueDictionary, string> utcOffsetHiddenFieldValueGetter;            // unused
            Func <string> utcOffsetHiddenFieldClientIdGetter;

            EwfHiddenField.Create(
                "",
                postBackValue => utcOffset.Value = postBackValue,
                vl,
                out utcOffsetHiddenFieldValueGetter,
                out utcOffsetHiddenFieldClientIdGetter);
            EwfPage.Instance.PreRender +=
                delegate {
                EwfPage.Instance.ClientScript.RegisterOnSubmitStatement(
                    typeof(UserManagementStatics),
                    "formSubmitEventHandler",
                    "getClientUtcOffset( '" + utcOffsetHiddenFieldClientIdGetter() + "' )");
            };
        }