Develop a custom extension method for FormControl in Angular version 8

I am looking to develop an extension for FormGroup that will convert Persian dates to Gregorian dates. Here is the code I have written for the extension:

import { FormControl } from '@angular/forms'

export { }

declare global {
    interface FormControl {
        ToMiladidate(date: Date): string;
    }
}

FormControl.prototype.ToMiladidate = function (date: Date): string {
    if (!date)
        return this;
    return new Date(date).toISOString();
}

However, I encountered an error on this line:

FormControl.prototype.ToMiladidate

The error message states:

Property 'ToMiladidate' does not exist on type 'FormControl'

What could be causing this issue? How can I resolve it?

Answer №1

If you're still searching for the right answer, look no further:

declare module '@angular/forms' {


interface AbstractControl {
    ToMiladidate(date: Date): string;
  }
}

AbstractControl.prototype.ToMiladidate = function (date: Date): string {
  if (!date)
    return this;
  return new Date(date).toISOString();
}

To solve this issue, make sure to switch from using FormControl to AbstractFormControl and define your module as @angular/forms. If you've defined your prototype in a separate file, remember to import it into app.module.ts at the top of imports:

import './form.prototype';

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Develop a JavaScript function

Is there a way to define the properties of an object in HTML and then create a function in JavaScript that will return that object? This is the HTML code: <object id="desktop" type="application/x-desktop" width="500" height="200> <param name="cl ...

jQuery ceases to function once

Creating a script to serve as a fallback for browsers without CSS3 animations, the initial part of the script functions well by adding the class of .hide. However, subsequent actions do not execute. The lack of errors makes me believe there is an issue in ...

Generating hyperlink regions dynamically

I am looking to create an image with a link map that will contain multiple areas that need to be updated frequently. Instead of constantly recreating the areas every few seconds, I want to generate them only when the user clicks on the image. I initially ...

An issue occurred during the execution of an AJAX call triggered by the onsubmit

When triggering a JavaScript function using the onSubmit event of a textfield, it looks like this: <form action="#" onsubmit="getTestResults()"> <input class="button2" type="text" name="barcode" > </form> The JavaScript function bein ...

Creating a simple RESTful API using Node.js and Express version 4

Currently, I am in the process of creating a rapid REST API using Nodejs and Express4. In order to develop a prototype quickly, I require an API that covers all basic CRUD operations. While searching for examples, I attempted to run the code from this URL: ...

Modifying the src attribute of an object tag on click: A step-by

So I have an embedded video that I want to dynamically change when clicked on. However, my attempt at doing this using JavaScript doesn't seem to be working. <object id ="video" data="immagini/trailer.png" onclick="trailer()"></object> H ...

Reading and decoding JSON data using AJAX

Upon viewing the console, I receive the JSON data in the following format: [Object] 0: Object address: "soham" region: "soham" relevanceScore: "4" startDate: "2015-05-10" subscriptionType: "1" verificationStatus: "1" __pro ...

Unable to change the visibility of blockquotes using jquery

Currently, I am delving into the world of basic JQuery functions. My main focus right now is figuring out how to display the active blockquote while keeping the others closed or closing them. Essentially, creating a toggle effect where only one blockquote ...

waiting for udp response in node.js using express

Currently, I am diving into the world of node.js programming and have encountered a challenge. While working with express, I came across an issue. When a POST request is made, it triggers a radius authentication process over UDP using the dgram module. Ho ...

Use Angular.js to perform navigation after clicking the "Ok" button on a confirmation box

I encountered a problem with my requirement. I need a confirm box to appear when the user attempts to navigate to the next state/page. Only if the user clicks on the "Ok" button should it proceed to the next state; otherwise, it should stay as it is. Below ...

Error class not being applied by Knockout validation

I've implemented knockout validation on a text input and the validation is working correctly. However, the errorMessageClass is not being applied to the error message. I must have made a mistake in my setup, but I can't seem to identify it. My H ...

The category 'Moment' cannot be assigned to the category 'Date'. The characteristic 'toDateString' is not present in the category 'Moment'

I recently integrated moment into my Angular2 application, and encountered an issue when attempting to assign the date of this week's Saturday to a variable of type date, case "weekend": this.fromDate = moment().startOf('week ...

Having issues with ngbDropdown in Angular 4 from ng-bootstrap?

My dropdown menus are malfunctioning. I attempted to follow advice from this source, where I upgraded to bootstrap 4-alpha, but unfortunately, the issue persists. Here is an excerpt from my package.json file: "@angular/animations": "^4.3.0", ... // ...

Replace the checkbox display heading with a text box in the designated area

I'm new to using kendo ui Currently, I am attempting to show a text box in the first column header. Instead of the checkboxDisplay heading, I want to replace it with a text box. Could someone please provide guidance on how to resolve this issue? Here ...

Unable to add a figcaption to a figure element that were created using the createElement method. The attempt to execute 'appendChild' on 'Node' has failed

My goal is to dynamically generate a figure element and then add a figcaption to it. var newFigure = document.createElement("figure"); var newPictureCaption = document.createElement("figcaption"); $(newPictureCaption).html(imgcaption); //this part fills t ...

Error retrieving api data following update to date format

After making some adjustments to the date format required by a railway API, I am facing an issue where no train data is fetched upon clicking the submit button. Below is the code snippet: searchTrain(e) { e.preventDefault(); let journeyDate = ...

Run a Python function in Django without any feedback

Currently, I am utilizing Django for a project and I find myself in a situation where I need to carry out certain functions based on user input. If the action requires displaying new values, I know how to handle that. However, when I simply need to execute ...

Steps for incorporating a scrollTo position in a function accurately

I'm currently working on adding a scroll function to a specific position on a webpage using JavaScript, but I'm not completely sure how to proceed. The code I have enables users to click on a link on the homepage, which then directs them to anot ...

Describing data types in TypeScript, when an <Array> contains various structures

I recently started using TypeScript and I'm working on eliminating all instances of any types. Issue: In my React Component, I iterate over an array of objects to extract key/value pairs. The component is passed the following props: tags, tagKeys ...

Timeout error of 10000ms occurred while using await with Promise.all in Mocha unit tests

Document: index.ts // Default Exported Classes getItemsA() { return Promise.resolve({ // Simulating API call. Mocking for now. success: true, result: [{ itemA: [] }] }); } getItemsB() { return Promise.resolve({ // Simulating API cal ...